Pages:
Author

Topic: [ANNOUNCE] ecoinpool - A brand new pool mining software written in Erlang - page 3. (Read 28480 times)

sr. member
Activity: 322
Merit: 250
I tried once again to get ecoinpool working.
Im pretty sure everything is setup fine (couchdb, erlang) except the last part of the configuration file.

Here is the error i actually encounter:
Code:
root@j064:/opt/ecoinpool# ./test_launch.sh
==> ecoinpool (compile)
==> ebitcoin (compile)
==> rel (compile)
==> ecoinpool (compile)
Erlang R15B (erts-5.9) [source] [64-bit] [smp:4:4] [async-threads:0] [hipe] [kernel-poll:true]

Eshell V5.9  (abort with ^G)
(ecoinpool_test@j064)1> {"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:/opt/ecoinpool#


Anybody here who can post a sample config and a describtion on the nessecary steps from here to get this working?
What parts to be edited, removed, replaced and database settings outside of this config file.

Code:
% 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: {, , }
            {"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: {, , , }
            {"ltc_test_shares", "ltc-test", "shares", 60},
            % MM Format: {,
, , , }
            {"btc_nmc_test_shares", "btc-test", "nmc-test", "shares", 60}
        ]}
    ]}
].
legendary
Activity: 905
Merit: 1012
Did you apply the fix the dependency versions as I mentioned a few pages back? Are you using v0.7 (not supported)?
full member
Activity: 140
Merit: 100
my test_launch.config is:

% 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, "localhost"},
        {db_port, 5984},
        {db_prefix, ""},
       
        % The next line should be changed, depending on your CouchDB
        % authentication settings: username password
        {db_options, [{basic_auth, {"admin", "admin"}}]},
       
        % 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, "1a2a3a4a5a"}
    ]},
   
    % 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, "localhost"},
        {db_port, 5984},
        {db_prefix, ""},
        {db_options, [{basic_auth, {"admin", "admin"}}]}
    ]},
   
    % 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, "localhost"},
        %{couchdb_port, 5984},
        %{couchdb_prefix, ""},
        {couchdb_options, [{basic_auth, {"ecoinpool", "localtest"}}]},
        %{couchdb_database, "ecoinpool"},
       
        %{mysql_host, "localhost"},
        %{mysql_port, 3306},
        %{mysql_prefix, ""},
        {mysql_options, [{auth, {"ecoinpool", "localtest"}}]},
        %{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: {, , }
            {"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: {, , , }
            {"ltc_test_shares", "ltc-test", "shares", 60},
            % MM Format: {,
, , , }
            {"btc_nmc_test_shares", "btc-test", "nmc-test", "shares", 60}
        ]}
    ]}
].

i get the following error when i run test_launch.sh :

==> ecoinpool (compile)
==> ebitcoin (compile)
==> rel (compile)
==> ecoinpool (compile)
Erlang R15B (erts-5.9) [source] [smp:1:1] [async-threads:0] [kernel-poll:true]

Eshell V5.9  (abort with ^G)
(ecoinpool_test@ubuntu)1> {"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 ()


sr. member
Activity: 364
Merit: 250
Anybody tried running this on a Pi?
legendary
Activity: 905
Merit: 1012
As it says, you've got a syntax error on line 88 starting with "Format". You shouldn't have uncommented that line (or the one further down starting with "MM Format".
hero member
Activity: 988
Merit: 1000
legendary
Activity: 1386
Merit: 1097
p2k, I heard some rumours that you're going to implement Stratum protocol. Feel free to join us at #stratum, there are already people willing to answer your potential questions.
hero member
Activity: 988
Merit: 1000
I know that in 0.6.3.rc you need to
# gedit  apps/ecoinpool/src/btc_daemon_util.erl
# replace getblocknumber with getblockcount line 220

in 0.7.0
getmemorypool has been removed in 0.7.0 and replaced with getblocktemplate

in the release notes:
Incompatible Changes
--------------------
* Replaced the 'getmemorypool' RPC command with 'getblocktemplate/submitblock'
  and 'getrawmempool' commands.
* Remove deprecated RPC 'getblocknumber'


and it was suggested that  apps/ecoinpool/src/btc_daemon_util.erl line 238 be tweaked as well

legendary
Activity: 905
Merit: 1012
thx Smiley

Thanks for the fix, it will work with prev version of bitcoind v0.6.3
how do we fix it for version v0.7.0?
The system I was working on still has v0.6.3. What changed with v0.7.0? Does it throw a new error?
sr. member
Activity: 322
Merit: 250
@sippsnapp, does that offer for 1BTC still hold? 17SRxATG3LZrD7WWTCr5EfCapprShVEtP Wink

HAHA, well, you got my by the balls  Roll Eyes

Quote
Status: 0/unconfirmed, broadcast through 7 nodes
Date: 9/18/2012 18:12
To: maaku 17SRxATG3LZrD7WWTCr5EfCapprShVEtP
Debit: -1.00 BTC
Net amount: -1.00 BTC
Transaction ID: 243a1d64540a04e290a2a1278c9f52985f6e43e613e20b35d569bcbc8161bfb8


SENT!

PS: Hopefully other guys who use this solution see it the same way... well done!

EDIT: Of course, i did not tested it but i beliefe its reasonable....

hero member
Activity: 988
Merit: 1000
Thanks for the fix, it will work with prev version of bitcoind v0.6.3
how do we fix it for version v0.7.0?

I'm sending you a btc for finding the atrophy as a thanks.
legendary
Activity: 905
Merit: 1012
Also going to give ecoinpool a try - a wonder i came that far but its still not working.

Code:
root@j064:~/ecoinpool# ./test_launch.sh
==> ecoinpool (compile)
==> ebitcoin (compile)
==> rel (compile)
==> 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> [12:29:23.245][ebitcoin/fatal] config_db - couchbeam:open_or_create_db/3 returned an error:
{ok,"401",
    [{"Server","CouchDB/1.2.0 (Erlang OTP/R15B01)"},
     {"Date","Thu, 30 Aug 2012 12:29:23 GMT"},
     {"Content-Type","application/json"},
     {"Content-Length","67"},
     {"Cache-Control","must-revalidate"}],
    <<"{\"error\":\"unauthorized\",\"reason\":\"Name or password is incorrect.\"}\n">>}
{"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#

Im really not a linux super geek and pretty happy i got that far, would be very happy about a little support.
Not much, but ill give 1 BTC to the person who gets this working (posts the right solution here).

EDIT: i have also edited the local.ini to bind the couchdb to 0.0.0.0.

In case anyone else encounters this same problem, it appears to be a case of source code atrophy. The most recent builds of ecoinpool's dependencies no longer work together as expected. Pegging the dependencies to versions around the same time as p2k's last commit solved it for me:

Code: (rebar.config)
{sub_dirs, ["apps/ecoinpool", "apps/ebitcoin", "rel"]}.

{deps, [
    {protobuffs, ".*", {git, "git://github.com/basho/erlang_protobuffs.git", "e0f5f6ea4c3dcb4e7b824496d2b48333fbd5a8c8"}},
    {ejson, ".*", {git, "git://github.com/benoitc/ejson.git", "820ff1725008e664293b88e13c16193857afc072"}},
    {oauth, ".*", {git, "git://github.com/refuge/erlang-oauth.git", "f332b77371d334d0faa13e106d0c36f948b325b6"}},
    {ibrowse, ".*", {git, "git://github.com/cmullaparthi/ibrowse.git", "eb8b62cf84ccae141700c8fd251277df8be27f28"}},
    {mochiweb, ".*", {git, "git://github.com/mochi/mochiweb.git", "b7f3693a9008de6d31a67174f7184fe24093a1b4"}},
    {couchbeam, ".*", {git, "git://github.com/benoitc/couchbeam.git", "7148bbdb19aca91b7b74e5392a23c94d33ca4e27"}},
    {log4erl, ".*", {git, "git://github.com/SemanticSugar/log4erl.git", "ec580f75ef9e28dfcfac92dc0d42c435520bd3d7"}},
    {mysql, ".*", {git, "git://github.com/elbrujohalcon/erlang-mysql-driver.git", "1dd4e22a80546fa1bda81607d6397a549fd791ae"}},
    {epgsql, ".*", {git, "git://github.com/wg/epgsql.git", "fc434772276475ac4e5b0bed6b18ed4732502156"}}
]}.

@sippsnapp, does that offer for 1BTC still hold? 17SRxATG3LZrD7WWTCr5EfCapprShVEtP Wink
sr. member
Activity: 322
Merit: 250
I still face this problem, would be nice if anybody knows whats wrong with my config.
RGDS

EDIT: Well, i posted this on stackoverflow.com http://stackoverflow.com/questions/12218312/ecoinpool-setup-error-with-couchdb
sr. member
Activity: 322
Merit: 250
Also going to give ecoinpool a try - a wonder i came that far but its still not working.

I installed couchdb (never worked with it before) from git https://github.com/apache/couchdb

I did all steps in the README.unix tutorial including:

Quote
Change the ownership of the CouchDB directories by running:

    chown -R couchdb:couchdb /usr/local/etc/couchdb
    chown -R couchdb:couchdb /usr/local/var/lib/couchdb
    chown -R couchdb:couchdb /usr/local/var/log/couchdb
    chown -R couchdb:couchdb /usr/local/var/run/couchdb

Change the permission of the CouchDB directories by running:

    chmod 0770 /usr/local/etc/couchdb
    chmod 0770 /usr/local/var/lib/couchdb
    chmod 0770 /usr/local/var/log/couchdb
    chmod 0770 /usr/local/var/run/couchdb

I have changed the couchdb password and used  -> user:couchdb pass:mycouchdbpass

Code:
root@j064:~/ecoinpool# ./test_launch.sh
==> ecoinpool (compile)
==> ebitcoin (compile)
==> rel (compile)
==> 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> [12:29:23.245][ebitcoin/fatal] config_db - couchbeam:open_or_create_db/3 returned an error:
{ok,"401",
    [{"Server","CouchDB/1.2.0 (Erlang OTP/R15B01)"},
     {"Date","Thu, 30 Aug 2012 12:29:23 GMT"},
     {"Content-Type","application/json"},
     {"Content-Length","67"},
     {"Cache-Control","must-revalidate"}],
    <<"{\"error\":\"unauthorized\",\"reason\":\"Name or password is incorrect.\"}\n">>}
{"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#

Im really not a linux super geek and pretty happy i got that far, would be very happy about a little support.
Not much, but ill give 1 BTC to the person who gets this working (posts the right solution here).

EDIT: i have also edited the local.ini to bind the couchdb to 0.0.0.0.


member
Activity: 66
Merit: 10
Hi, would like to setup a small pool for private usage. Do i have to have my own machine or can i set this up on a remote server? i mean, a hosting service can do the trick??

If i have an account with a hosting service. have some space and an address. Can i have this running so that i can point my miners there?? How can i setup this? Have to set it up on a linux machine and copy the aal thing online?? sorry for the noob question, but i'd like to learn some more about this.
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
100 BTC bounty if someone can get this working with MySQL or get me a new pool mining software that works.
Hit up IRC and talk to Graet and his cronies Grin and see if they can help. Ozcoin runs ecoinpool, so they ought to know.
hero member
Activity: 780
Merit: 510
Bitcoin - helping to end bankster enslavement.
100 BTC bounty if someone can get this working with MySQL or get me a new pool mining software that works.
hero member
Activity: 780
Merit: 510
Bitcoin - helping to end bankster enslavement.
I got this thing working and I am a windows guy!

Anyhow I'm able to mine and see the shares there are a few popup dialogs stating a database is missing but other than that it's working flawlessly.

However...

I would like to use it with my pushpool tables in mySQL so I don't need to change my front end.  I tried using the ecoinpool mysql replicator however it does nothing except crash the ecoinpool and the replicator.

It looks like its doing the job because I see this...


Code:
mysql_conn:462: fetch <<"SET @1=158">> (id <0.79.0>)
mysql_conn:462: fetch <<"EXECUTE pool_worker_couch_id_q USING @1">> (id <0.79.0>)
mysql_conn:462: fetch <<"SET @1=158">> (id <0.79.0>)
mysql_conn:462: fetch <<"EXECUTE pool_worker_data_q USING @1">> (id <0.79.0>)
mysql_conn:462: fetch <<"SET @1='1-332de4a9e1f0b1da7bf0ed87c7734c17'">> (id <0.79.0>)
mysql_conn:462: fetch <<"SET @2=158">> (id <0.79.0>)
mysql_conn:462: fetch <<"EXECUTE pool_worker_upd_rev_q USING @1,@2">> (id <0.79.0>)
mycouch_replicator:251: MyId 719: Inserting.
mysql_conn:462: fetch <<"SET @1=719">> (id <0.79.0>)
mysql_conn:462: fetch <<"EXECUTE pool_worker_couch_id_q USING @1">> (id <0.79.0>)
mysql_conn:462: fetch <<"SET @1=719">> (id <0.79.0>)
mysql_conn:462: fetch <<"EXECUTE pool_worker_data_q USING @1">> (id <0.79.0>)
mysql_conn:462: fetch <<"SET @1='1-2b62e4011883a47e29bdd301838c300e'">> (id <0.79.0>)
mysql_conn:462: fetch <<"SET @2=719">> (id <0.79.0>)
mysql_conn:462: fetch <<"EXECUTE pool_worker_upd_rev_q USING @1,@2">> (id <0.79.0>)
mycouch_replicator:251: MyId 517: Inserting.
mysql_conn:462: fetch <<"SET @1=517">> (id <0.79.0>)
mysql_conn:462: fetch <<"EXECUTE pool_worker_couch_id_q USING @1">> (id <0.79.0>)
mysql_conn:462: fetch <<"SET @1=517">> (id <0.79.0>)


But then it crashes and I see this...


Code:
=ERROR REPORT==== 15-Jul-2012::06:29:31 ===
** Generic server <0.95.0> terminating
** Last message in was {'DOWN',#Ref<0.0.0.123772>,process,<0.22377.0>,normal}
** When Server state == {state,<<"btc_nmc_test_shares">>,
                         "btc_nmc_test_shares.state",
                         {db_state,
                          {db,
                           {server,"localhost",5984,[],
                            [{basic_auth,{"ecoinpool","abc"}}]},
                           "ecoinpool",
                           [{basic_auth,{"ecoinpool","abc"}}]},
                          #Ref<0.0.0.235>,<0.106.0>,1146},
                         {db_state,
                          {db,
                           {server,"localhost",5984,[],
                            [{basic_auth,{"ecoinpool","abc"}}]},
                           "btc-test",
                           [{basic_auth,{"ecoinpool","abc"}}]},
                          #Ref<0.0.0.123773>,<0.22379.0>,0},
                         undefined,0,53280,ecoinpool_mysql_replicator,
                         "shares",
                         {interval,#Ref<0.0.0.260>},
                         [],[],[],
                         #Fun,
                         <<"INSERT INTO `shares` (`rem_host`, `username`, `our_result`, `upstream_result`, `reason`, `solution`) VALUES\n">>,
                         [3,4,5,8,9,11]}
** Reason for termination ==
** {conn_failed,{error,econnrefused}}


working on this for hours any help will get some bitcoins. I'm going to bed now it's 3 am.
legendary
Activity: 889
Merit: 1000
Bitcoin calls me an Orphan
I dont know anyone that has installed this on windows. All directions are around ubuntu and suggest using just that otherwise you will need to customize your install.
hero member
Activity: 535
Merit: 500
Did anyone find out if this has to be run on a linux server? I already have a windows server set up for my business and I use a fraction of its resources currently. I'd love to get a small pool going and see if i could build it up from there.

Anyone notice any advantages to this software as far as pure mining performance? Or is the concept simply its usability?
Pages:
Jump to: