Title: [ANN] aiostratum-proxy (v1.1): fast, multi-coin mining proxy for 1000s of rigs Post by: wetblanket on March 22, 2018, 07:33:55 PM aiostratum-proxy is a new, open source stratum protocol (and altcoin derivatives) mining proxy. Its focus on being extensible/modular is one of its greatest strengths: users can create new aiostratum-proxy coin/algos 'plug-ins' or 'modules' without having to modify aiostratum-proxy itself.
Originally built as a learning exercise to better understand stratum protocol(s) and the mining ecosystem, I now think that others will benefit by making aiostratum-proxy available for everyone to use. The goal for aiostratum-proxy is to make it the easiest solution for any coin/algorithm pool proxying needs, via the creation of JSONRPC (the stratum base 'language') modules. More information available at the aiostratum-proxy Github repository (https://github.com/wetblanketcc/aiostratum_proxy). Current Status: As mentioned, aiostratum-proxy is new, and is looking for some testing beyond what I've thrown at it. Current coin/algo support is Equihash-only (more to come, given community interest). Constructive feedback is needed and appreciated. Donations: There is no dev fee. However, I eat food and need to support those around me - devs need to make money too. Consider it incentive to maintain and continue developing aiostratum-proxy. So if you use this proxy, donate using the addresses below:
Don't have any of the above? I'll look into getting an address in your choice currency. Features: The intention for aiostratum-proxy was to be feature-comparable with existing mining proxies, yet extensible without forking to add support for other coins.
Supported Coins/Algos:
How you can help:
Requirements & Compatibility: aiostratum-proxy is written using Python3's non-blocking async/await syntax - so Python 3.5 or greater is required. It runs on Linux and macOS, and should work on Windows (send in reports, please). Installation: Read all of the Installation and Usage sections before proceeding with installing. It's best to always refer to the aiostratum-proxy Github repository (https://github.com/wetblanketcc/aiostratum_proxy) for source code and updated installation and usage instructions - but for the eager miners out there... installation is pretty simple: Code: pip install aiostratum-proxy ... but you probably really want to use Python virtual environments to contain the installation, rather than installing globally: Code: # this will create a directory 'containing' the Python3 virtual environment As you can see, installation creates a new command-line shortcut called aiostratum-proxy. Usage: A YAML config file is needed for the proxy to run (learn more about YAML (https://github.com/Animosity/CraftIRC/wiki/Complete-idiot's-introduction-to-yaml)); you can generate one: Code: bin/aiostratum-proxy --generate-config > proxy-config.yaml Open and edit the generated proxy-config.yaml in a text editor. To run aiostratum-proxy, pass it your edited config file: Code: bin/aiostratum-proxy --config proxy-config.yaml While you probably should always generate and edit your own config using the above instructions, here's a couple of sample configs for mining Bitcoin Private (BTCP) - to show you how simple they can be. Remember to modify addresses, usernames, passwords to use your own: Code: proxies: The above uses the included Equihash support, defines a single unsecured port for miners to connect to and a single pool to proxy to. Simple, but not very secure or robust. Let's try again, adding in secure connections and a fallback pool: Code: proxies: The above uses the included Equihash support, defines 2 ports for miners to connect to (1 of them being SSL/TLS secured) and 2 pools to proxy to (the second being the fallback). Authorization Setting Notes: Handily, aiostratum-proxy will automatically extract the worker name from each miner's authorization (when it connects) and appends it to the account_name config setting before authorizing with the pool. This allows you to continue per-miner hash/share rate tracking at the pool level. (Thanks Doftorul for the feedback!) Step by step explanation:
Note that you CAN optionally put a worker name in the config file pool account_name setting (ie. b1CACK65UTwzmHGw2VvyozdPsRLMb8utGLg.worker1, but this will cause miner-specific worker names to be ignored. You might want this in a larger farm setup, perhaps. Release Notes: 1.0.2 2018/07/13
1.0.1 2018/07/12
1.0.0 2018/03/22
Future Ideas/Thoughts: This section contains some ideas that may not get implemented - it depends on community feedback.
Title: Re: [ANN] aiostratum-proxy: next-gen extensible, multi-algo mining proxy (1.0.0) Post by: wetblanket on March 22, 2018, 08:31:26 PM reserved for version/release notes
Title: Re: [ANN] aiostratum-proxy: next-gen extensible, multi-algo mining proxy (1.0.0) Post by: Keko Fdez on March 22, 2018, 09:31:18 PM Really nice to see new stuff coming out specially open source. I have some time tomorrow so might give it a go. Any ideas on how fast it could be on Equihash algo mining ZEC?
Title: Re: [ANN] aiostratum-proxy: next-gen extensible, multi-algo mining proxy (1.0.0) Post by: wetblanket on March 22, 2018, 09:57:56 PM Really nice to see new stuff coming out specially open source. I have some time tomorrow so might give it a go. Any ideas on how fast it could be on Equihash algo mining ZEC? Just to make sure we're on the same page here - this is a mining proxy, not the GPU/CPU mining software itself. Its primary purpose is have multiple mining rigs (each rig running mining software like ewbf, dstm, bminer, etc) proxy pool network communication to a) reduce network requirements and b) stabilize share rates. Given that it is non-blocking by nature and virtually all operations are networking (ie. I/O-related), it should handle a decent number of rig/miner connections without impact, and overall help both miner share rates and reduce pool resources. There have been claims in the past of 20% improvement in shares just by using a pool proxy like this - but keep in mind that there have been a lot of improvements in protocols, miners, and pools in the past couple of years. Edit: I would say there are benefits to running a proxy like this in a single rig environment as well - when your miner software crashes or restarts, the proxy will maintain the connection to the pool, difficulty, etc. The pool doesn't see your miner drop its connection, which (can?) affects your sharerate stats, whether you're considered a pool jumper, etc. I'd appreciate testing and feedback! Title: Re: [ANN] aiostratum-proxy: next-gen extensible, multi-algo mining proxy (1.0.0) Post by: Keko Fdez on March 22, 2018, 10:29:06 PM Really nice to see new stuff coming out specially open source. I have some time tomorrow so might give it a go. Any ideas on how fast it could be on Equihash algo mining ZEC? Just to make sure we're on the same page here - this is a mining proxy, not the GPU/CPU mining software itself. Its primary purpose is have multiple mining rigs (each rig running mining software like ewbf, dstm, bminer, etc) proxy pool network communication to a) reduce network requirements and b) stabilize share rates. Given that it is non-blocking by nature and virtually all operations are networking (ie. I/O-related), it should handle a decent number of rig/miner connections without impact, and overall help both miner share rates and reduce pool resources. There have been claims in the past of 20% improvement in shares just by using a pool proxy like this - but keep in mind that there have been a lot of improvements in protocols, miners, and pools in the past couple of years. Edit: I would say there are benefits to running a proxy like this in a single rig environment as well - when your miner software crashes or restarts, the proxy will maintain the connection to the pool, difficulty, etc. The pool doesn't see your miner drop its connection, which (can?) affects your sharerate stats, whether you're considered a pool jumper, etc. I'd appreciate testing and feedback! yes we are on the same page jeje There have been claims in the past of 20% improvement in shares just by using a pool proxy like this That was the answer I was looking for but my question didnīt come across as obvious as it seemed in my head Title: Re: [ANN] aiostratum-proxy: next-gen extensible, multi-algo mining proxy (1.0.0) Post by: Doftorul on March 25, 2018, 09:01:45 PM Great to see a new OSS project and a brave dev making it open source.
In order to get more traction it would be useful to handle worker names transparently, that is presenting to the upstream pool each and every worker name behind the proxy. Sometimes, when you have 20 workers, you'd need to somehow check their hash stats with the pool. Title: Re: [ANN] aiostratum-proxy: next-gen extensible, multi-algo mining proxy (1.0.0) Post by: wetblanket on March 25, 2018, 11:12:12 PM Great to see a new OSS project and a brave dev making it open source. Thanks. Not sure I'll be considered the brightest dev for making it open source, but I'll take 'brave' for now. 🤔 In order to get more traction it would be useful to handle worker names transparently, that is presenting to the upstream pool each and every worker name behind the proxy. Sometimes, when you have 20 workers, you'd need to somehow check their hash stats with the pool. Good news! Let's get ready for traction! Although not currently documented (my bad, sorry), it already is able to do this. It just requires a minor change in the config. This line of code (https://github.com/wetblanketcc/aiostratum_proxy/blob/master/aiostratum_proxy/protocols/stratum.py#L175) extracts the worker name from the miner's authorization and appends it to the config file's pool account name, but ONLY IF the config's pool account name doesn't already have a worker name set. My examples in the original post have ".rig1" in the account_name settings (see the following): Code: proxies: If ".rig1" is removed from that line, aiostratum-proxy will pull the worker name from the miner's authorization - so, like this instead: Code: proxies: At least, it should! Title: Re: [ANN] aiostratum-proxy: next-gen extensible, multi-algo mining proxy (1.0.1) Post by: wetblanket on July 12, 2018, 06:24:18 PM A small update (version 1.0.1) has been released today, to add in in worker connection TCP socket keep-alives.
Thanks to everyone who has donated, to keep the project moving! Title: Re: [ANN] aiostratum-proxy (v1.0.2): fast, multi-coin mining proxy for 1000s of rigs Post by: wetblanket on July 13, 2018, 05:55:30 PM Version 1.0.2 has just been released: keep-alive fix for non-linux platforms, plus a little help in detecting miner/proxy/pool misconfiguration (via an additional debug statement).
Keep sending me product feedback (via PM or via this thread)! Title: Re: [ANN] aiostratum-proxy (v1.0.2): fast, multi-coin mining proxy for 1000s of rigs Post by: wariner on July 16, 2018, 08:48:45 AM Great proxy!
works very fine Title: Re: [ANN] aiostratum-proxy (v1.0.2): fast, multi-coin mining proxy for 1000s of rigs Post by: xpulse on August 09, 2018, 02:40:26 PM Wetblanket,
Could you please help with installation your proxy on CentOs, I added 2 requests in github. Thanks. Title: Re: [ANN] aiostratum-proxy (v1.0.2): fast, multi-coin mining proxy for 1000s of rigs Post by: wetblanket on August 09, 2018, 02:51:10 PM Could you please help with installation your proxy on CentOs, I added 2 requests in github. Hi, thanks for the message - replied to the 'easier' of your two issues already; unfortunately the answer was that it appears you're trying to use Python 3.4, when only Python 3.5 and above is supported. I will give the ZEC nicehash pool support issue some thought, but I'm pretty sure that using any equihash proxy with nicehash isn't possible due to the way they both take the same approach to supporting multiple miners. Title: Re: [ANN] aiostratum-proxy (v1.0.2): fast, multi-coin mining proxy for 1000s of rigs Post by: cat9life on September 10, 2018, 06:41:41 AM It's a great proxy! thank you! I am looking for a long time. Gonna test it
Title: Re: [ANN] aiostratum-proxy (v1.0.2): fast, multi-coin mining proxy for 1000s of rigs Post by: sanjaykumar49 on September 27, 2018, 01:50:32 PM Hi,
Is this proxy support AutoSwitching to most profitable coin on an equihash pool, if so how we can configure it? Title: Re: [ANN] aiostratum-proxy (v1.0.2): fast, multi-coin mining proxy for 1000s of rigs Post by: wetblanket on September 27, 2018, 02:43:10 PM Is this proxy support AutoSwitching to most profitable coin on an equihash pool, if so how we can configure it? While I haven't tried it, I imagine it would work if you use https://miningpoolhub.com for instance. Title: Re: [ANN] aiostratum-proxy (v1.0.2): fast, multi-coin mining proxy for 1000s of rigs Post by: map_ua on October 04, 2018, 05:38:22 PM Hi wetblanket! Check your inbox please!
Title: Re: [ANN] aiostratum-proxy (v1.1): fast, multi-coin mining proxy for 1000s of rigs Post by: wetblanket on October 07, 2018, 02:48:24 PM New v1.1 release to address a nonce size calculation bug.
As always, product feedback is always appreciated! Title: Re: [ANN] aiostratum-proxy (v1.1): fast, multi-coin mining proxy for 1000s of rigs Post by: Kirill_83 on December 12, 2018, 06:15:14 PM Hello
I use antminer s9 with asicboost. Tell me please. Does aiostratum-proxy support asicboost? I have installed aiostratum-proxy and asic connected and disconnected Quote aiostratum-proxy --config proxy-config.yaml Maybe need to add some parameters to the config?2018-12-12 16:24:04,248 INFO - * Proxy 1 proxy starting 2018-12-12 16:24:04,248 INFO - W:Proxy 1: defaulting to None max workers 2018-12-12 16:24:04,248 INFO - W:Proxy 1: up to 256 workers supported (distinct nonce spaces) 2018-12-12 16:24:04,249 INFO - W:Proxy 1: accepting plaintext connections on 192.168.0.100|10666 2018-12-12 16:24:04,249 INFO - * Proxy 1 proxy started, waiting for worker connections 2018-12-12 16:24:05,404 INFO - P:Proxy 1: connection established to eu.ss.btc.com|1800 2018-12-12 16:24:05,481 INFO - W:Proxy 1: peer connected ('192.168.2.170', 53497) 2018-12-12 16:24:05,482 INFO - W:Proxy 1: peer connected ('192.168.2.170', 53498) 2018-12-12 16:24:05,641 INFO - W:Proxy 1: peer disconnected ('192.168.2.170', 53498) 2018-12-12 16:24:10,642 INFO - W:Proxy 1: peer connected ('192.168.2.170', 53502) etc Thanks. Title: Re: [ANN] aiostratum-proxy (v1.1): fast, multi-coin mining proxy for 1000s of rigs Post by: chrysophylax on November 18, 2019, 12:39:07 PM WetBlanket ...
Would you be interested in continuing the development of the proxy you started? #crysx |