diff --git a/ebin/gmhive_client.app b/ebin/gmhive_client.app index 378909c..d0104f3 100644 --- a/ebin/gmhive_client.app +++ b/ebin/gmhive_client.app @@ -1,6 +1,6 @@ {application,gmhive_client, [{description,"Gajumaru Hive client"}, - {vsn,"0.1.4"}, + {vsn,"0.2.0"}, {registered,[]}, {applications,[kernel,stdlib,sasl,gproc,enoise,gmconfig, gmhive_protocol,gmhive_worker]}, diff --git a/gmhc_config-testnet-local.eterm b/gmhc_config-testnet-local.eterm index 44f6888..7a49f41 100644 --- a/gmhc_config-testnet-local.eterm +++ b/gmhc_config-testnet-local.eterm @@ -2,10 +2,10 @@ , pool_admin => #{url => <<"local">>} , pool => #{id => <<"ct_26xqeE3YKmZV8jrks57JSgZRCHSuG4RGzpnvdz6AAiSSTVbJRM">>, host => <<"127.0.0.1">>} - , mining => - [#{executable => <<"mean15-generic">>} - ,#{executable => <<"mean15-generic">>} - ,#{executable => <<"mean15-generic">>} - ,#{executable => <<"mean15-generic">>} + , workers => + [#{executable => <<"mean15-generic">>, <<"executable_group">> => <<"gmcuckoo">>} + ,#{executable => <<"mean15-generic">>, <<"executable_group">> => <<"gmcuckoo">>} + ,#{executable => <<"mean15-generic">>, <<"executable_group">> => <<"gmcuckoo">>} + ,#{executable => <<"mean15-generic">>, <<"executable_group">> => <<"gmcuckoo">>} ] }. diff --git a/rebar.config b/rebar.config index 47402e3..0e05aa1 100644 --- a/rebar.config +++ b/rebar.config @@ -9,7 +9,7 @@ {enoise, {git, "https://git.qpq.swiss/QPQ-AG/enoise.git", {ref, "029292817e"}}}, {gmhive_protocol, {git, "https://git.qpq.swiss/QPQ-AG/gmhive_protocol.git", - {ref, "ea549141f5"}}}, + {ref, "818ce33"}}}, {gmhive_worker, {git, "https://git.qpq.swiss/QPQ-AG/gmhive_worker", {ref, "708f1a6"}}}, {gmconfig, {git, "https://git.qpq.swiss/QPQ-AG/gmconfig.git", {ref, "32c1ed5c4b"}}}, @@ -36,5 +36,5 @@ {dialyzer, [ {warnings, [unknown]} , {plt_apps, all_deps} - , {base_plt_apps, [erts, kernel, stdlib]} + , {base_plt_apps, [erts, kernel, stdlib, inets]} ]}. diff --git a/rebar.lock b/rebar.lock index f9b9281..ce26544 100644 --- a/rebar.lock +++ b/rebar.lock @@ -30,7 +30,7 @@ 1}, {<<"gmhive_protocol">>, {git,"https://git.qpq.swiss/QPQ-AG/gmhive_protocol.git", - {ref,"ea549141f5943b2b1b109a2653b8cd60778107c7"}}, + {ref,"818ce33cc1dec74c020515be48fb548a5207befd"}}, 0}, {<<"gmhive_worker">>, {git,"https://git.qpq.swiss/QPQ-AG/gmhive_worker", diff --git a/src/gmhc_config_schema.erl b/src/gmhc_config_schema.erl index b0ba0a9..b605b94 100644 --- a/src/gmhc_config_schema.erl +++ b/src/gmhc_config_schema.erl @@ -74,7 +74,7 @@ workers() -> "from faster CPU supporting AVX2 instructions).">>}), executable_group => str(#{description => <<"Group of executable binaries of the worker.">>, - enum => [ <<"aecuckoo">>, <<"aecuckooprebuilt">>, <<"gmcuckkoo">>, <<"cuda">>, <<"gajumine">> ], + enum => [ <<"aecuckoo">>, <<"aecuckooprebuilt">>, <<"gmcuckoo">>, <<"cuda">>, <<"gajumine">> ], default => <<"aecuckoo">>}), extra_args => str(#{description => <<"Extra arguments to pass to the worker executable binary. " diff --git a/src/gmhc_eureka.erl b/src/gmhc_eureka.erl index 090c661..a37300c 100644 --- a/src/gmhc_eureka.erl +++ b/src/gmhc_eureka.erl @@ -57,9 +57,9 @@ request(get, URL, []) -> HttpOpts = [{timeout, 15000}], Opts = [], Profile = default, - request_result(httpc:request(get, {URL, Headers}, HttpOpts, Opts, Profile)); -request(post, URL, Body) -> - post_request(URL, Body). + request_result(httpc:request(get, {URL, Headers}, HttpOpts, Opts, Profile)). +%% request(post, URL, Body) -> +%% post_request(URL, Body). expand_url(URL) -> case re:run(URL, <<"{[^}]+}">>, []) of @@ -122,12 +122,12 @@ get_var_name(<>, Acc) -> %% From gmplugin_web_demo_handler.erl =================================== -post_request(URL, Map) -> - ?LOG_DEBUG("Map = ~p", [Map]), - Body = json:encode(Map), - ?LOG_DEBUG("Body = ~s", [Body]), - PostRes = httpc:request(post, {URL, [], "application/json", Body}, [], []), - request_result(PostRes). +%% post_request(URL, Map) -> +%% ?LOG_DEBUG("Map = ~p", [Map]), +%% Body = json:encode(Map), +%% ?LOG_DEBUG("Body = ~s", [Body]), +%% PostRes = httpc:request(post, {URL, [], "application/json", Body}, [], []), +%% request_result(PostRes). %% ====================================================================== diff --git a/src/gmhc_events.erl b/src/gmhc_events.erl index d2d1110..a2c2dea 100644 --- a/src/gmhc_events.erl +++ b/src/gmhc_events.erl @@ -13,6 +13,8 @@ -type event() :: pool_notification | {pool_notification, atom()} | error + | puzzle + | result | connected | disconnected. @@ -61,6 +63,8 @@ debug() -> subscribe(pool_notification), subscribe({pool_notification, new_generation}), subscribe(connected), + subscribe(puzzle), + subscribe(result), subscribe(error), subscribe(disconnected), loop() diff --git a/src/gmhc_server.erl b/src/gmhc_server.erl index e7ae439..52a86f0 100644 --- a/src/gmhc_server.erl +++ b/src/gmhc_server.erl @@ -365,8 +365,10 @@ spawn_worker(#worker{pid = undefined, nonce = Nonce, config = Cfg} = W, Cand) -> -spec init_worker(binary(), integer(), integer(), tuple(), pid()) -> no_return(). init_worker(Data, Nonce, Target, Config, Parent) -> + gmhc_events:publish(puzzle, {Data, Target, Nonce, Config}), Res = gmhc_workers:generate_from_hash(Data, Target, Nonce, Config, undefined), %% ?LOG_DEBUG("worker result: ~p", [Res]), + gmhc_events:publish(result, Res), case Res of {ok, Solutions} when is_list(Solutions) -> worker_result(Parent, {solutions, Solutions}); diff --git a/zomp.meta b/zomp.meta index 28122f0..3f85f87 100644 --- a/zomp.meta +++ b/zomp.meta @@ -1,10 +1,10 @@ {name,"gmhive_client"}. {type,app}. {modules,[]}. -{author,"Ulf Wiger, QPQ AG"}. {prefix,"gmhc"}. {desc,"Gajumaru Hive Client"}. -{package_id,{"uwiger","gmhive_client",{0,1,4}}}. +{author,"Ulf Wiger, QPQ AG"}. +{package_id,{"uwiger","gmhive_client",{0,2,0}}}. {deps,[{"uwiger","gmhive_worker",{0,1,1}}, {"uwiger","gmhive_protocol",{0,1,1}}, {"uwiger","setup",{2,2,4}},