title: Couchdb {"init terminating in do_boot",{{badmatch,{error,{shutdown
body: <p>A pool mining software written in Erlang for cryptographic currencies.
  <a href="https://github.com/p2k/ecoinpool" rel="nofollow">https://github.com/p2k/ecoinpool</a></p>
  
  <p>I currently try to install this software on a debian server but facing the error as described below. Im really new to linux so please excuse if this is a very simple question.</p>
  
  <pre><code>root@j064:~/ecoinpool# ./test_launch.sh
  ==&gt; ecoinpool (compile)
  ==&gt; ebitcoin (compile)
  ==&gt; rel (compile)
  ==&gt; ecoinpool (compile)
  Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:4:4] [async-threads:0] [kernel-poll:true]
  
  Eshell V5.9.1  (abort with ^G)
  (ecoinpool_test@j064)1&gt; {"init terminating in do_boot",{{badmatch,{error,{shutdown,{ebitcoin_app,start,[normal,[]]}}}},[{ecoinpool_test_launch,start,0,[{file,"src/ecoinpool_test_launch.erl"},{line,34}]},{init,start_it,1,[]},{init,start_em,1,[]}]}}
  
  Crash dump was written to: erl_crash.dump
  init terminating in do_boot ()
  root@j064:~/ecoinpool#
  </code></pre>
  
  <p>My ecoinconfig looks like this:</p>
  
  <pre><code>% This is an example configuration file. Lists are denoted with [...] and tuples
  % are denoted with {...}. Together they form a nested structure of names and
  % parameters. If you make changes and add or remove options, make sure not to
  % have a comma before a closing bracket or curly brace.
  
  [
      % SASL is Erlang's internal error and crash logger; it also logs starting
      % and stopping of certain processes. I set it to "error" here so it won't
      % pollute stdout/stderr.
      {sasl, [
          {errlog_type, error}
      ]},
  
      % This is ecoinpool's main configuration. The CouchDB connection is
      % configured here.
      {ecoinpool, [
          % The following commented lines are default settings.
          {db_host, "127.0.0.1"},
          % {db_port, 5984},
          % {db_prefix, ""},
  
          % The next line should be changed, depending on your CouchDB
          % authentication settings:         
          {db_options, [{basic_auth, {"dbuser", "dbpass"}}]},
  
          % Here you can change ecoinpool's HTTP service port, currently used to
          % serve global RPC functions used by the frontend.
          %{service_port, 8080},
  
          % The last line in this section contains your blowfish secret key, share
          % this among your servers and don't tell it to anyone else. Minimum key
          % length is 4 bytes, maximum is 56 bytes.
          % If you have pwgen (a password generator), try "pwgen -s 56 1" to get
          % 56 random characters.
          {blowfish_secret, "9Zx95ZQ2P0682MtbSGw8RNLrYhmCBD7jFwzejlv54oLXzB9gGbCfWQUc"}
      ]},
  
      % This is the ebitcoin configuration. ebitcoin forms a separate application,
      % thus it doesn't share ecoinpool's database settings. If you use the same
      % CouchDB server and authentication, copy it from above.
      {ebitcoin, [
          % You can also disable ebitcoin altogether by uncommenting the following
          % line. Note that you will fall back to the polling system then.
          % {enabled, false},
  
          {db_host, "127.0.0.1"},
          % {db_port, 5984},
          % {db_prefix, ""},
          {db_options, [{basic_auth, {"dbuser", "dbpass"}}]}
      ]},
  
      % The third separate application (it also has to be started separately) is
      % the MySQL Replicator. It is used to bridge legacy MySQL worker tables to
      % CouchDB and also stores copies of the shares into a MySQL table.
      {ecoinpool_mysql_replicator, [
          % Again, commented lines are default settings.
          {couchdb_host, "127.0.0.1"},
          %{couchdb_port, 5984},
          %{couchdb_prefix, ""},
          {couchdb_options, [{basic_auth, {"dbuser", "dbpass"}}]},
          %{couchdb_database, "ecoinpool"},
  
          %{mysql_host, "localhost"},
          %{mysql_port, 3306},
          %{mysql_prefix, ""},
          {mysql_options, [{auth, {"unchanged", "unchanged"}}]},
          %{mysql_database, "ecoinpool"},
  
          % This is a setting that certainly has to be changed. Configure one or
          % more worker table replicators here (if you have multiple sub-pools).
          % Please only connect one sub-pool to one table or things get jammed up.
          {replicator_configs, [
              % Format: {&lt;ecoinpool sub-pool ID&gt;, &lt;MySQL worker table&gt;, &lt;MySQL sync interval in seconds, 1 or more&gt;}
              {"24aa68ec6c910de0850ed0c575621ec9", "pool_worker", 15}
          ]},
  
          % Next is your blowfish secret key. Copy it from above.
          {blowfish_secret, "Replace me!"},
  
          % And the last one, also to be likely changed, is the shares deployer
          % configuration. There are two possible formats here, one with and one
          % without using merged mining. The config ID is used as basename for
          % saving the deployment state file and for the "source" column.
          {share_deployer_configs, [
              % Non-MM Format: {&lt;config ID string&gt;, &lt;pool name&gt;, &lt;MySQL shares table&gt;, &lt;MySQL write interval in seconds, 0 allowed&gt;}
              {"ltc_test_shares", "ltc-test", "shares", 60},
              % MM Format: {&lt;config ID string&gt;, &lt;main pool name&gt;, &lt;aux pool name&gt;, &lt;MySQL shares table&gt;, &lt;MySQL write interval in seconds, 0 allowed&gt;}
              {"btc_nmc_test_shares", "btc-test", "nmc-test", "shares", 60}
          ]}
      ]}
  ].
  </code></pre>