bonesoul (OP)
|
|
May 11, 2014, 12:48:30 PM Last edit: October 14, 2014, 03:45:16 PM by bonesoul |
|
CoiniumServ - pooled mining server software by coinium.orgCoiniumServ is a high performance, extremely efficient, platform-agnostic, easy to setup pool server implementation. It features stratum and vanilla services, reward, payment, share processors, vardiff & ban managers, user-friendly embedded web-server & front-end and a full-stack API. DemoCheckout http://www.coinium.org that is proudly powered by CoinumServ! Getting CoiniumServHelpLatest Release0.2.2 betaMore
|
|
|
|
bonesoul (OP)
|
|
May 11, 2014, 03:15:24 PM Last edit: July 16, 2014, 01:14:00 PM by bonesoul |
|
and yes coinium can run on mono
|
|
|
|
|
|
bonesoul (OP)
|
|
May 17, 2014, 12:06:56 PM |
|
Cgminer accepting jobs & sending notifications;
|
|
|
|
|
DRKLord
Member
Offline
Activity: 84
Merit: 10
DRK Developer
|
|
June 18, 2014, 04:18:14 AM |
|
First of all, I want to give this project my highest praises! Well done! This is EXACTLY the sort of mining pool software I've been looking for, and I LOVE C#/.NET/Mono!!! However, I'm having a few problems with the code... After I downloaded the .zip of the repo, I noticed that the project's dependencies were missing. It was missing Gibbed.IO and Json.RPC / AustinHarris.Json.RPC... I then downloaded those dependencies from the master branch and made a few modifications and reloaded them. I got the code to build and run in DEBUG config successfully. But I'm not able to tell if it's actually communicating with bitcoind... And when I try to connect one of my AntMiner S-1s, it throws an exception in the GetJsonResponse(HttpWebRequest) method of the DaemonBase class... private string GetJsonResponse(HttpWebRequest httpWebRequest) { try { WebResponse webResponse = httpWebRequest.GetResponse();
// Deserialize the json response using (var stream = webResponse.GetResponseStream()) using (var reader = new StreamReader(stream)) { string result = reader.ReadToEnd(); reader.Close();
return result; } } catch (ProtocolViolationException protocolException) { throw new Exception("Unable to connect to the Bitcoin server.", protocolException); } catch (WebException webException) { var response = webException.Response as HttpWebResponse;
if(response == null) throw new Exception("An unknown web exception occured while trying to read the JSON response.", webException);
using (var stream = response.GetResponseStream()) using (var reader = new StreamReader(stream)) { throw new Exception(string.Format("{0} - {1}", response.StatusCode, reader.ReadToEnd())); } } catch (Exception exception) { throw new Exception("An unknown exception occured while trying to read the JSON response.", exception); } }
^ I haven't yet been able to determine what's going on here or what the problem is. I just downloaded the code today, so I haven't had much time to dig in and explore it. But if anyone can help me figure out what the problem is and why this exception is being thrown I would greatly appreciate it!!! Also, I'm having trouble figuring out whether or not the pool software is successfully connecting to my *coind server and getting valid getwork responses. Does anyone have an example config file or some tips to help me out here? I'm REALLY excited about this code/project and very eager to get it up and running. If anyone can help me out here I may have a bit of extra coin I can send your way... Thanks! The DRK Lord
|
Luficrem si drolkrd eht!
DRK Tips: XvWrvpERfUN8r1LB9JDMZS3Yu2rSfEYrHk
|
|
|
bonesoul (OP)
|
|
June 25, 2014, 10:35:32 PM |
|
DRKLord, we'll be soon posting a detailed documentation & usage guide soon. The develop branch code is still being worked and not yet production ready, but the good news is that, startum-server code's initial implementation is done now. here's a few screenshots; running over mono & ubuntu: running over dotnet & windows the first litecoin-testnet block found by coiniumserv: https://chain.so/tx/LTCTEST/5d3b79637855994ad582b1c304ea29525f1f644fa4fcc48f69954558768a30feand even more testnet blocks: https://chain.so/address/LTCTEST/n3Mvrshbf4fMoHzWZkDVbhhx4BLZCcU9oY@drklord and please try this; git submodule init git submodule update cd build ./build-mono.sh cd .. cd /bin/Debug ./CoiniumServ.exe And give it a try, you'll have a debug.log file in bin/Debug/logs and it'll be very helpful for me to identify the problem. And keep in mind that right now scrypt is hardcoded for time being (will support sha256 coins soon too)
|
|
|
|
bonesoul (OP)
|
|
June 26, 2014, 01:18:35 PM |
|
|
|
|
|
jmaxmining
Newbie
Offline
Activity: 4
Merit: 0
|
|
June 29, 2014, 08:45:28 PM |
|
Nice video. I see you were using the dotnet version. I have mine running but I do not see many of the printouts to the console that we in the video init the pool etc. (my version is a couple a days newer that then one in the video - I think. When mine runs - it gets a timeout exception trying to communicate with the coin daemon. the config file has the daemon address as 127.0.0.1 port 9333. Are those settings accurate? I do not see any process listening on port 9333 - which may explain why the request is timing out.
Any ideas?
06/29/2014 15:48:19 -04:00 [Information] [global] [n/a] CoiniumServ "0.1.5293.24129" warming-up.. 06/29/2014 15:48:19 -04:00 [Information] [global] [n/a] Running over DotNet 4.0.30319.17929. 06/29/2014 15:48:20 -04:00 [Debug] [Pool] [n/a] Generated cryptographically random instance Id: 974328085 06/29/2014 15:48:26 -04:00 [Information] [Redis] [n/a] Storage initialized: "InterNetwork/127.0.0.1:6379" 06/29/2014 15:48:27 -04:00 [Information] [PoolManager] [n/a] Discovered a total of 1 enabled pool configurations: ["Litecoin"]. 06/29/2014 15:48:27 -04:00 [Information] [StratumServer] [n/a] Stratum server listening on "0.0.0.0":3333 06/29/2014 15:48:27 -04:00 [Information] [HttpServer] [n/a] Vanilla server listening on port 3334. 06/29/2014 15:48:27 -04:00 [Verbose] [DaemonBase] [n/a] Send: "{ 'method' : 'getblocktemplate', 'params' : [ { 'capabilities' : [ 'coinbasetxn', 'workid', 'coinbase/append' ] } ], 'id' : 0 }"
then it hits: throw new Exception("There was a problem communicating with coin daemon.", exception);
Thanks!
|
|
|
|
jmaxmining
Newbie
Offline
Activity: 4
Merit: 0
|
|
June 29, 2014, 09:44:18 PM |
|
Well I did not know that the coin daemon is a separate process. So I have the litecoind running now and it looks like I am past the issue with communicating to it... However, now I have the same issue as the previous person. I am getting this exception: throw new Exception("An unknown web exception occured while trying to read the JSON response.", webException); I am running on windows dotnet.
Any help on that one?
Thanks!
|
|
|
|
bonesoul (OP)
|
|
June 30, 2014, 10:02:03 AM |
|
for litecoin-testnet i use a this config; server=1 rpcuser=user rpcpassword=password rpctimeout=30 rpcallowip=127.0.0.1 rpcport=9333 testnet=1 You should be having something similar to this, if the problem persist can you paste your litecoin.conf please?
|
|
|
|
jmaxmining
Newbie
Offline
Activity: 4
Merit: 0
|
|
July 05, 2014, 05:23:05 PM |
|
For some reason I can not run more than one miner on one instance of cgminer using this pool. Are there any fixes for this?
|
|
|
|
bonesoul (OP)
|
|
July 13, 2014, 03:09:03 AM |
|
@jmax, can you handle your debug.log please?
|
|
|
|
bonesoul (OP)
|
|
July 16, 2014, 01:16:29 PM |
|
I've been keeping an eye on Coinium. I'm in the process of developing a gameplan to set up a multipool type of thing, with some select auto-exchanged POS coins available for users. As far as multipool software that supports auto-exchange, there's nothing ready made that I can use, so I've been digging and digging everywhere I can for code snippets or other stuff I can adapt to something like NOMP. I've actually ran across quite a bit of very interesting stuff, but most everything I come across is done with programming languages I'm less than familiar with, so it presents a rather large obstacle. Since I ran across Coinium I've been pretty excited to see it with all its planned features implemented. I haven't actually tried out a build of it yet, but was wondering how feature-complete it is so far? Any idea how far off it is from being ready for running a live pool, and are/will the switching and autoexchange features be usable when its ready for live testing, or will those features be held off until the rest of the project has matured further?
Sorry for all the questions, just trying to get an idea of what, if anything, I can do with Coinium at the moment. Also, I really like the frontend on the coinium.org pool website. Will that be a feature in CoiniumServ or is it a custom, proprietary frontend? I'd like to get my hands on that :b
There's a ton of multipools out there, some of the biggest and oldest, if I'm not mistaken, are pretty much 100% custom. Unfortunately, for a lone entrepreneur like me, hiring a dev team is out of the question, and I just don't have the time or enough experience in the most useful programming languages for this kind of project. Its nice to see a project taking shape that doesn't seem to be having any features deliberately held back or put aside for a "premium" version.
Thanks for reading and please, if you have any information for me, if you wouldn't mind sending me a quick PM to check the thread, I would greatly appreciate it.
Thanks for your interest on the project. I haven't actually tried out a build of it yet, but was wondering how feature-complete it is so far? We will be soon releasing a feature-complete alpha version for testing stuff and so. The next step will be a feature-freeze where we'll be fixing the bugs in basic functionality. Next in the line we'll implement multi-pool capabilities. Check our list of milestones here; https://github.com/CoiniumServ/CoiniumServ/issues/milestonesSo basically for switching and autoexchange we need to first make sure that the basic functionality is all tested & working as intended. Also, I really like the frontend on the coinium.org pool website. Will that be a feature in CoiniumServ or is it a custom, proprietary frontend? I'd like to get my hands on that :b Coinium.org pool website is proprietary frontend, but CoiniumServ project will feature a similar one which you'll be able to customize for your needs easily.
|
|
|
|
bonesoul (OP)
|
|
July 16, 2014, 01:17:46 PM |
|
Does coinium work with btc as well or is it mostly for all coins ?
Right now it does support scrypt (and will add sha256 coin support soon - like BTC), x11, x13 and similar algo support will also eventually added.
|
|
|
|
bonesoul (OP)
|
|
July 16, 2014, 01:28:43 PM |
|
|
|
|
|
edric
|
|
July 18, 2014, 09:19:00 AM Last edit: July 18, 2014, 10:21:27 AM by edric |
|
Oh wow, that video reminds me of when I was folding for a bit a while back. Nice! I haven't had any free time lately to test it out, I had started to a couple of weeks back and was having some issues and haven't had time since. Running several pools and keeping up the backends, maintaining a few small projects as well as helping with a friend's setup, tiring.. I'm pulling the repo now and will give it a look before turning in tonight. Very excited about it, as the goals of this project fit with my overall aims, and I'm hoping that its modular nature will allow for me to use some of my own customized backend tools. I'm liking the development schedule you have laid out so far, seems very well thought out. Is there any concrete planning done yet on exactly how the system will be modular? What I mean is, for instance, if a part of the autoexchange engine doesn't quite fit what I need, but I have my own program that can pass commands and arguments through it via cli or even http, is that possible? Its understandable if you're not quite ready to elaborate on that for whatever reason but would love any explanation you're able to provide. At the moment I'm mostly running a solo venture as far as my pool stuff goes and CoiniumServ has definitely been looking attractive since the finished product is meant to be fully featured and flexible, allowing me to offer excellent services without having a huge staff, or budget. The ability to plug in some of my own tools (without having to resort to reverse engineering or hacking anything) would make it even more attractive, though I could be assuming too much, too early. Still, watching eagerly. Just wish I had more time to test! If you wish, feel free to PM me. Edit: Had another go at building it but not having any luck yet. I've barely even gotten my feet wet with C# or Mono so it is possible I'm just missing something or not set up quite right yet. I did get those repos added and installed mono-complete and mono-opt along with its extra dependencies. With a bit of googling I'm thinking it is something on my end that I just need to wrap my head around a bit more. Once again, though, I've worked the night away and the kids will be up in a couple of hours, so I'll try again tomorrow. Following is a snippet of one of the errors I was getting when running the build script. Utils/Logging.cs(97,43): error CS0012: The type `System.Object' is defined in an assembly that is not referenced. Consider adding a reference to assembly `System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
|
|
|
|
bonesoul (OP)
|
|
July 18, 2014, 01:30:05 PM |
|
I'm liking the development schedule you have laid out so far, seems very well thought out. Is there any concrete planning done yet on exactly how the system will be modular? What I mean is, for instance, if a part of the autoexchange engine doesn't quite fit what I need, but I have my own program that can pass commands and arguments through it via cli or even http, is that possible? Its understandable if you're not quite ready to elaborate on that for whatever reason but would love any explanation you're able to provide. At the moment I'm mostly running a solo venture as far as my pool stuff goes and CoiniumServ has definitely been looking attractive since the finished product is meant to be fully featured and flexible, allowing me to offer excellent services without having a huge staff, or budget. The ability to plug in some of my own tools (without having to resort to reverse engineering or hacking anything) would make it even more attractive, though I could be assuming too much, too early. Still, watching eagerly. Just wish I had more time to test!
The plan is that we won't be releasing a ready-to-work auto-exchange code with - the number #1 reason is that auto-exchange pools as you know dumps coins and for the most part makes the coin prices to drop. But we have a plan for that which is quite different then nomp; We'll create an auto-exchange module API that CoiniumServ can consume, so basically to get started with a new exchange-service working, you just need to put a simple module for CoiniumServ and fill in the details about connection to exchange-api. Then you'll be able to fill the exchange logic - which will allow you to code your own unique exchange logic; The api is not here yet but will be something similar to this; var txId = your_exchange_module.Send(dogecoins) await your_exchange_module.Sell(txId) var newtxId = your_exchange_module.Get(bitcoins-for-txId) -- payment processor will do the rest to distribute the bitcoins for miners who contributed dogecoin mining period --
So we'll have two options 1) Use the above exchange module API and code your own simple exchange module so coiniumserv consume it's services (which is already what you are looking for). 2) For our own pools coinium.org, we'll develop our own proprietary exchange modules for our in house use, but will still have paid consulting services for people whom can't afford developing the module themself. Consulting services we allow the development of the software to continue on. Edit: Had another go at building it but not having any luck yet. I've barely even gotten my feet wet with C# or Mono so it is possible I'm just missing something or not set up quite right yet. I did get those repos added and installed mono-complete and mono-opt along with its extra dependencies. With a bit of googling I'm thinking it is something on my end that I just need to wrap my head around a bit more. Once again, though, I've worked the night away and the kids will be up in a couple of hours, so I'll try again tomorrow. Following is a snippet of one of the errors I was getting when running the build script.
Utils/Logging.cs(97,43): error CS0012: The type `System.Object' is defined in an assembly that is not referenced. Consider adding a reference to assembly `System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
Will be lot better if you can paste a full build-log to pastie.org so I can check it out. and maybe also give this command a try;
|
|
|
|
bonesoul (OP)
|
|
July 22, 2014, 02:41:27 PM |
|
|
|
|
|
|