Giter Site home page Giter Site logo

maynardminer / swarm Goto Github PK

View Code? Open in Web Editor NEW
91.0 15.0 40.0 1.04 GB

Profit Switching Mining Administrator For HiveOS/Linux & Windows: HiveOS Integrated

License: MIT License

PowerShell 94.55% Shell 1.27% Batchfile 0.27% Perl 0.28% Python 3.63%
gpu-mining hiveos ccminer cryptodredge claymore miner nicehash zpool t-rex wildrig-multi

swarm's Introduction

SWARM: Profit Switching AI For HiveOS, Linux, & Windows

IMPORTANT : SWARM attempts to provide miners that work for as many cards as possible. Some miners may work for your cards, some may not. All miners are set with default settings provided from developers themselves (with logging enabled, if available). There is a -Bans argument that lets you remotely remove miners from the list. SWARM should support, if not all late model cards.

Windows Version Does Not Require HiveOS Windows. SWARM is built with all HiveOS API methods, and its own utilities like autofan, and overclocking. However, the overclocking for AMD requires prior registry modifications and compute mode activated to fully manipulate power play tables. If you are unsure how to do this- Run Win_Optimize.bat as an administrator. This will make an attempt to edit/make the registry entries for you, and set cards in compute mode. Reboot afterwards.

Developer Note: I am aware of how brutal the codebase is. This is a 4 year old project, I have had to thousands of changes/additions along the way. Sometimes even I scratch my head. If you need clarification on how something works, I am more than happy to answer in the issues section. I eventually plan to sit down and re-write the entire thing into a much cleaner format, but right now it works....so....

SWARM wiki:

https://github.com/MaynardMiner/SWARM/wiki

What is SWARM?

Concept

SWARM is an collection scripts written in both powershell and bash, and is a profit switching mining script that will work within any OS with very few/little changes. (The miners that SWARM uses may vary) SWARM, is written to be used as an all purpose/all platform mining system that can be implemented/managed on a large scale basis. It was developed for larger mining administrators, who are generally unable to interact with every mining unit/rig directly, but would like to work with auto-exchange/profit switching mining. It favors command line interfacing vs. GUI.

This is not a fork of multiminer/nemosminer/sniffdog. This is original software.

This miner is a commandline tool. It does not require a desktop environment in Linux, and can operate purely from ssh/terminal with commands that can be called from /usr/bin. It was designed to leverage the abilities of Linux, not just to be compatible with it.

HiveOS Integration (Windows or Linux)

Note: SWARM is developed and used regulary on latest HiveOS Stable, and is recommended for Ubuntu 18.04, which is the linux version most miners are developed on. If you experience issues using bleeding edge/beta image, please report issue, and I will connect to bleeding edge image, and fix asap.

To focus solely on SWARM's project mission: SWARM was written to integrate fully with HiveOS as of version 1.4.5. The developer of SWARM recognizes the attempt to make an OS/website as sophisticated as the years of development and effort placed into HiveOS would be pointless. Therefor, knowing that SWARM was capable of operating within HiveOS- SWARM was introduced to HiveOS as an available custom miner, and can be integrated rather easily. SWARM also has created a significant amout of scripts which can be ran automatically through HiveOS, and even locally on rig- Allowing you to run multiple terminals and windows, and customize your own setup. Commands like get stats and benchmark all can be ran at any moment- Allowing you to quick make changes as neccessary. You also have ALL of the functionality you would get with HiveOS, along with MOST of the functionality of HiveOS's website in the Windows version.

Highly Sophisticated Customization

  • OC Tuning by algorithm (May be out of date- Use HiveOS if you want this feature)
  • -API_Key allows oc_profiles in HiveOS
  • Customize environment variables, add starting scripts to miner launches.
  • Factor/adjusts power costs.
  • Prohibit miners / algorithms / pools with a single argument -Bans
  • AI controls / bans miners and pools when issues arise.
  • AI can factor items like pool hashrates, and SWARM uses specific calculations for each pool.
  • Can enable solo mining with wallets.json, control multiple wallets / switching at a pool level.
  • Tracks historical statistics using rolling exponential moving averages.
  • Adjust starting difficulty of each miner.
  • Control pricing time frames.
  • Divide rig into seperate mining groups.
  • Test .bat files are made in each .\bin folder of miner using last SWARM settings (for miner troubleshooting).
  • Intesity/Difficulty are recorded with hashrates, and stored in .\bin folder of miner. (Where applicable).

SWARM is very customizable. At the base layer- It is easy to setup by simply inputting some basic user configuration at launch, and SWARM will handle the rest. However, beyond the base layer, SWARM offers a sophisticated oc tuning system, along with the ability to customize environment varibles, miner arguments, pool difficulty, and even a system for factoring power cost/calculation into profit analysis. SWARM allows you prohibt miners from certain algorithms, or prohibit mining certain algorithms on certain pools. SWARM also has the ability to control your overclocking internally, including support for AMD Vega in Windows using the latest drivers. It also supports accepting overclocking commands via HiveOS's website, with use of -API_key.

alt text

alt text

Bash or Powershell Scripting

SWARM was designed to make SWARM bigger than itself. All commands can be executed via bash scripts/shell commands on the linux side, and we are slowly implementing the same features to the window's side. With the Lite mode, SWARM can be easily incorporated into any current miningOS available, and users can customize/create their own launch process, independent of SWARM. In Windows, you should be able to run cmd.exe and powershell actions through HiveOS dashboard. An example of this would be:

get-process | Where-Object name -eq "pwsh"

Would give you a list of all powershell core processes.

Development

I am a sole developer, and this is a large project. I prioritize workload by requests and activity, if you would like me to develop/improve a particular version Just notify me. Currently, the most popular, most used, and most user supported feature of SWARM is utilizing it as a custom miner in HiveOS. This was not an easy task, and also not easy to continue to maintain. This is why the fee of 1.5% is applied.

Why Are More Pools Not Added?

PPS and Prop pools are the only pools worthwhile to mine in a switching setting. PPLNS pools, which are the majority of mining pools, have a payment scheme in which promotes loyalty to their pools: You get penalized when you mine on another pool. All the pools listed in SWARM are either PPS (Pay Per Share) or Prop (Proportional Share Pay). There are a couple of PPLNS+ pools, which do not penalize you for switching, but rather give you a bonus for loyalty.

So in essence, it is a diservice to my users to provide more pools based on the format/intention of the software.

If you know of more PROP or PPS pools, please let me know: I will add immediately.

Simple Install Instructions

Windows

SWARM requires no installation. However there are a few pre-requisites:

Install Steps:

Optional: Open SWARM.bat, change wallet with your BTC wallet, modify/add/replace arguments to your specifications. See help files for a list of arguments. Or use github wiki. If using HiveOS- You will only ever have to do this once. You could also instead copy config\parameters\defaults.json as newarguments.json in same directory, and edit it as desired.

Launch SWARM.bat. First time run will start swarm_help.

If you chose to use HiveOS:

Step 1: Copy your arguments from swarm. It will instruct you what to copy.

Step 1: When background agent starts- Go to HiveOS.

Step 2: Create a flight sheet for SWARM (SEE HiveOS install below), you can omit Installation URL since you are already Installed. Copy arguments you pasted in flight sheet. See photos below.

Step 3: Apply flight sheet to your newly created SWARM worker.

Step 4: Confirm SWARM has restarted- At this point when background agent starts- SWARM should communicate stats to HiveOS, and should be ready to accept commands. You will no longer need to modify the .bat file/json- You modify arguments through HiveOS and your flight sheet.

HIVEOS

NOTE: HiveOS currently uses Cuda 10.2 as default.

SWARM is simple to install in linux environment, if a user is familiar with linux operating systems. There are plenty of users to help/support you, if you should decide to learn how to operate/use SWARM. However, it does take the commitment of learning how to use/manage linux.

There is a Windows version that stats to HiveOS, that is constantly being worked on/improved. If you are unsure of your capabilities of using linux- You can always use the Windows version, and get most of the features SWARM has to offer, as well as help me improve it.

This is an example of how to remote install/update miner. It is the fastest way to get going. Simply enter tar.gz file name from latest release. Then insert link for tar.gz. Next in wallet/worker templates enter 'blah'. Lastly, your setup arguments go in the last box, labeled extra config arguments. After that, you are are good to go! See wiki on proper argument use. Here is a photo of setup:

Coin/Wallet is irrelevant. You can basically enter whatever you want. Then navigate to custom miner:

alt text

From there you should see this window. Pool and URL are setup with arguments. However, Hive 2.0 requires those fields to not be empty. You can simply enter anything there. See photo below on how to setup miner. Just insert the name of the latest release, and the release tar.gz file link. Then insert your arguments in the bottom box:

FULL ARGUMENT LIST:

view ./help/SWARM_help.txt

SAMPLE ARGUMENT SETUPS:

https://github.com/MaynardMiner/SWARM/wiki/Arguments-(Miner-Configuration)

alt text

Note

You may need to Rocket Launch/Reboot in order to have Agent restart and start recieving data from SWARM

CONTACT

Communication channels For SWARM-

Discord: https://discord.gg/5YXE6cu

Telegram: @Swarm_Mining

Reddit: https://www.reddit.com/r/SWARM_Miner

DONATE TO SUPPORT!

BTC WALLET: 1FpuMha1QPaWS4PTPZpU1zGRzKMevnDpwg

NICEHASH WALLET: 39iUh6aforxHcBr3Ayywmnqw2ZHcbmy9Wj

Integrated Software

SWARM uses the following programs to help with oc tuning/rig setup,

Thank you to the developers that created them:

-nvidiainspector

-wolfamdctrl/ohgodatool

-overdriventool

-OhGodAnETHlargementPill-r2

-techPowerUp GPU-Z

-AMDMemoryTweak

-ODVII (self-created app in SWARM) for AMD ADL methods.

-AmdMemInfo

Consider Donating to these developers for their efforts.

nvfans (self-created app in SWARM) uses the following wrapper for nvidia control in Windows:

https://github.com/falahati/NvAPIWrapper

All licenses and developer information are included. I am not responsible for their software, nor do I maintain them. They are downloaded from their known distrubution sources and/or are included in mining OS. USE AT YOUR OWN DISCRETION.

THIS SOFTWARE IS PROVIDED AS-IS, USE AT YOUR OWN DISCRETION- DEVELOPERS TAKE NO RESPONSIBILITY FROM ANY DAMAGES/ISSUES THAT MAY BE A RESULT OF USING THE THIRD PARTY SOFTWARE INCLUDED IN SWARM! IT IS HIGHLY RECCOMMENDED THAT USERS ARE FAMILIAR WITH MINING SOFTWARE AND THE MINING PROCESS IN GENERAL PRIOR TO USING SWARM.

You may see other apps inside apps folder- These are depreciated, and no longer in use.

Special Thanks To:

The other developers of open-source mining software, and their efforts. I note these, as I have at one point in time over history consulted their codebase/wisdom looking for solutions to issues. If you are not happy with SWARM, here are some other software you can use that other powershell developers work on:

https://github.com/MrPlusGH/NPlusMiner

https://github.com/nemosminer/NemosMiner

https://github.com/Sniffdog/Sniffdogminer

https://github.com/MultiPoolMiner/MultiPoolMiner

https://github.com/Quake4/MindMiner

https://github.com/RainbowMiner/RainbowMiner

All projects go in different directions and have different perceptions/perspectives on profit switching and profit calculation.

swarm's People

Contributors

clintar avatar davisinfo avatar embstj avatar itsdarklikehell avatar maynardminer avatar tmiland avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

swarm's Issues

AMD Driver Version Windows

I have been searching for a method to find AMD driver version, to add to online stats. If you see a method, please let me know.

get active show active miners that aren't active

I noticed a bug in linux side-

The active miner list shows miners that are closed, and not active as being active. This is a glitch in the codebase, and in new process handling method. It seems it doesn't update "Hasexited" status to being $false. Likely may be a result of no powershell process.handle.

The fix is to run a get-process check each loop to refresh the system.process.

Mining Rig Rentals

Proposal:

Using mining Rig Rentals API, and incorporating it into SWARM as a custom pool.

I am fully exploring what can be done with API before adding.

Reduce background.ps1 size

background.ps1 is getting pretty large, and it take awhile to debug / format it, whenever I have to make changes, and it is one of the most regularly changed file.

I plan to do the following:

1.) convert all major variables into unique global variables.
2.) convert API to a runspace rather than job (better performance) for threading. I am doing it, since I am working on background.ps1.
3.) offload all miner API to build\api\miners\miner.ps1, and load in as modules / functions.
4.) build\api\html will have functions for html api methods.

I prefer keeping smaller manageable scripts rather than larger ones as much as possible, so functions can be tested individually. (The merit of using powershell) This will help achieve this format.

Get / Add / Remove commands

Proposal:

get command alreasy exists. I would just like to make sure it can pull all items from config.

remove would allow the ability to remove an item from .json in config. I would like to make this command.

add would allow the ability to add an item from .json in config. I would like to make this command.

RTX cards fan control windows

SWARM uses NvidiaInspector in Windows to control fan speed. It works fine with GTX cards, but with RTX cards- Everything works but fan speed.

I am looking into either finding another utility that works via command line, or creating my own. However, I have notified developer- He may update and create new release.

gminer issue

I have heard multiple reports about gminer not working on linux side, reports as far as reason why is not know as of yet. I am investigating. Before release it benchmarked for me.

Cuda 9.2

I will be officially abandoning support for Cuda 9.2 in linux on version 2.1.2

I will no longer maintain repository at that point, but will leave it up.

$CUSTOM_LOG_BASENAME is not defined

$CUSTOM_LOG_BASENAME is not defined
Logs already disabled

Is outputted at HiveOS startup in SWARM. This is a HiveOS error, and is because I disabled logging, as SWARM writes its on transcript.

This can't be fixed, since it's a HiveOS thing, but notating here that this is normal, and will not cause errors.

get screen miner is used to get SWARM transcripts, which will detail background / verbose errors missed from stdin.

Stat Deterioration

There is a current bug which only happens with some users, and mainly happens with very intensive miners (particularly CryptoDredge).

It seems after an hour of runtime, background stats start to generate errors.

I have been working with users experiencing these issues trying to find a fix.

If you are concerned about this, locking in your hashrates after bench marking will avoid this issues: It's usually recommended to do anyways, to prevent stats deviation over time.

Change:

-StatsInterval to a high number, such as 10000 to prevent further benchmarking.

2.0.6 beta test version is broken for windows

There was a typo found by discord user in launchcode.ps1 in beta test release.

Line 206, launchode.ps1

$script += "Invoke-Expression `'.\$($MinerCurrent.MinerName) $MinerArgs"

Should now be:

$script += "Invoke-Expression "".\$($MinerCurrent.MinerName) $MinerArgs"""

Fix was applied directly to master branch, will be included in 2.0.7 final

ASIC restoration

There are growing number of miners that would benefit from ASIC profit switching.

SWARM had an ASIC feature, but it was never fully refined or kept up to date with rest of codebase.

Proposal: Restore and refine ASIC.

Logging Errors

Even though I do the following:

-Stop Miner
-Remove Log File
-Start Miner With Argument to Log To New Log File (same name: DEVICE.log as file previously removed)

The miners are occasionally writing to weird file paths like NVIDIA1-[12323412312].log

I am trying to troubleshoot and solve.

Problem with docker container (Slow Storage Drive)

Hi! Im try to run your scripts, and get errors in screen NVIDIA1:

export LD_LIBRARY_PATH=/root/SWARM.2.0.3/build/export

cd

cd /root/SWARM.2.0.3/./bin/bminer-1

./NVIDIA1-2 -uri beam://[email protected]:3370 -api 127.0.0.1:44000 2>&1 | tee /root/SWARM.2.0.3/logs/NVIDIA1.log

[ERRO] [2019-03-09T00:57:58Z] Unable to locate ./NVIDIA1-2!

Track Historical Earnings / Statistical Deviations

Proposal:

1.) To track historical earnings from pools as they are made, and save them to file.

2.) To track estimated live earnings from pool, as they are generated, and save the to same file. This is done, but ideally it would be to save all incoming quotes as averages rather than estimated deviations.

3.) To backup, and remote update this information, so it can be tranferred.

4.) To generate a mathematical long term deviation of earnings vs. average quotes. using these saved statistics, and save it in the same file.

5.) To create an optional parameter, that will penalize pools based on historical earnings.

The goal is, is to make SWARM an ai that learns which pools screw users, and the longer a user uses, the smarter it becomes.

ProgPOW Cuda

Users on AMD side are reporting an issue with progminer.ps1,

For some reason I compiled last night, and opencl is missing. I will re-compile again tonight.

HiveOS watchdog for Windows

Proposal:

1.) Swarm gathers /saves watchdog configuration from HiveOS with other config info.

2.) Background agent at start parses watchdog arguments from the HiveOS file.

3.) A timer is created and started at the end of the background.ps1 loop if matches watchdog conditions.

4.) If timer goes above miner restart, agent restarts swarm. However, it must save where the timer left off, and pull that time at start of new background agent.

5.) Continue timer, and if it meets reboot parameters, reset the timer in saved file, then reboot.

6.) Lastly, diasable and reset timer if it SWARM starts to show specified hash.

Powershell Error when Settings Stats

I have SWARM generate warnings when Powershell starts to output errors when it PULLS stats from files, and files are corrupted (usually result of a crash). I do not have it remove the powershell errors, and convert them to warnings when they are SET.

I will implement this next release, to help users find issues.

sgminer with hiveos/AMD issue - causing shutdown issues.

Starting fancyix-1 Mining mtp on AMD1
Getting Process ID for sgminer                                                                                                           
Process Id is 28776                                                                                                                      
sgminer Is Running!
         
        
                         //\\  _______
                        //  \\//~//.--|
                        Y   /\\~~//_  |
                       _L  |_((_|___L_|
                      (/\)(____(_______)      
Waiting 20 Seconds For Miners To Load & Restarting Background Tracking
                                                                                                                                         
Type 'mine' in another terminal to see miner working- This is NOT a remote command!
                                                                                                                                         
Type 'get-screen [MinerType]' to see last 100 lines of log- This IS a remote command!
                                                                                                                                         
https://github.com/MaynardMiner/SWARM/wiki/HiveOS-management >> Right Click 'Open URL In Browser'  
                                                                                                                                         
                                                                                                                                         
/hive/miners/custom/SWARM.2.0.9/h-run.sh: line 38:  3832 Killed                  pwsh -command "&.\swarm.ps1 $(< /hive/miners/custom/$CUS
TOM_NAME/$CUSTOM_NAME.conf)" $@                                                                                                          
                                                                                                                                         
custom exited, waiting to cooldown a bit
                                                                                                                                         
sleep: error while loading shared libraries: libc.so.6: cannot create shared object descriptor: Cannot allocate memory                   
/usr/bin/env: ‘bash’: Cannot allocate memory    

Windows get update command

Users are stating they are having issues.

Based on photos, it seems the point in the codebase it is happening, is when the miner goes to close the old version, and start the new.

I will be testing to reproduce, issues was reported as starting to happen in 2.0.4, but I personally have been unable to reproduce after multiple testing attempts.

AMD stability

SWARM does not have a lot of AMD users.

Be advised when using SWARM for AMD, you are beta testing AMD side- Please report in Discord in README of issues, or post issues in issues sections so I can quickly determine issues.

HiveOS Compatibility

I have noticed there have been issues of latest HiveOS image and SWARM- Users have reported issues involving extracting miners, as well curl issues when installing.

I am working on re-coding miner for Powershell compatibility in 18.04, which should solve all further and future compatibility issues.

Some users are having issues, some are not.

I recommend checking my MM.Test repository, which is my beta test grounds for future SWARM test versions.

GUI

.Net core 3.0 (currently experimental) contains system.windows.winforms

This means that powershell core, when developers finish porting .net 3.0 sdk to Powershell, will likely be capable of having a GUI in linux. I have researched many different forms of GUI, but a native Powershell/.Net GUI would make maintaining the project ideal, as it can be directly integrated.

I am currently designing a GUI for SWARM as we speak, in preparation of this, however, I do not know when they will finish Powershell 6.3, plus how much of the codebase will have to change to support 6.3, as well as how much of the GUI I am designing now will have to be ported/fixed when it is released.

19.3.3 for AMD messes with GPU stats

It seems the ADL methods in recent drivers do not appear to be compatible in Windows. I am going to work on porting all ADL to Overdrive8, but for now I do not recommend going past 19.2 drivers.

I currently use 19.1.1 without any issues.

Support for PimpOS

I have purchased a copy of PimpOS. I haven't had a chance to use, but I plan to test and fix whatever needed to support soon.

Once confirmed it can be ran without issue, I will help with integrating swarm api in linux methods for stats.

Stat management

Because a good amount of users work from USB- Reducing as many read / writes is always favorable.

This proposal aims to do the following:

1.) Stats are pulled at the start of SWARM from stats folder.
2.) Stat table will be edited while SWARM is running, and the stats time periods will stored on the $stats variable.
3.) $stats will be written to filed when appended. This will now only be the only time SWARM writes the file.

This will multiply the stat variable exponentially, but I imagine overall the size will not have an impact on the running of SWARM and its overall memory use.

Furthermore, I plan to use dynamic arrays to improve the speed, as it seemed to greatly improve the speed of loading of miners and pools in linux.

Default Watt Use

Currently SWARM only calculates watts used by gpus.

Proposal:

To add a default generic watt usage which would include cpu, mb, ram, and other items that should be taken into account.

My goal is to make the default based on-

2-core cpu (Running on average around 50%, 1 proccessor).

4GB ram

Improve Pool Profit Calculations

There has been much discussion regarding Zergpool and its stat pricing behind scenes. Multiple users running larger setups are stating that their profits are not meeting Zergpool estimate predictions in SWARM. It is normal to expect somewhere anywhere between 65%-100% of the predicted returns, but users have been reporting below 50% of what Zergpool predicts on their API.

It has been proven, and shown multiple times that SWARM is calculating the correct conversion of their estimate_current figure and user hashrate (this is with default settings implied). It has been calculated as per the standard simplified estimate_current * hashrate (with mbtc factor & fee removed, then averaged out via time frame).

To try to troubleshoot this issue, I have ran numerous tests, comparing returns of pool vs. the differences of shared hashrate / and party & solo hashrates, and it seems (and supported by other user tests) that when reducing their estimates by a % based on:

hashrate_shared/ total hashrate = Total estimated %
estimate_current * Total estimated % = pool quote

The estimates seems to reflect a closer to accurate figure, and so far users that tested it have agreed. The pool make no mention of whether or not estimate_current reflects shared vs. solo hashrates.

2.0.9

            $TotalEst = ConvertFrom-PoolHash $Hashrate $Shared $Estimate

function was added to pool file, which if you review function, will match the simple math provided.

If you find it does not work for you, you are can remove that function by changing that line to:

$TotalEst = $Estimate

And it will use old standardized method for calculation.

Please let me know if you have any questions or concerns regarding this change, and if you used 2.0.9 and found it did not improve your returns.

windows update 2.0.9

In 2.0.8 there was an oversight when adding the new feature to pull from git. I forgot to change the internal text file that contains current version, and it pulls a garbled mess when checking for version. The fix is this:

swarm.ps1 line 218:

## Version
$Version = Get-Content ".\h-manifest.conf" | ConvertFrom-StringData
$Version.CUSTOM_NAME | Set-Content ".\build\txt\version.txt"
$Version = $Version.CUSTOM_VERSION

Needs to be

## Version
$Version = Get-Content ".\h-manifest.conf" | ConvertFrom-StringData
$Version.CUSTOM_VERSION | Set-Content ".\build\txt\version.txt"
$Version = $Version.CUSTOM_VERSION

It has been applied to master for next release. If you change those lines, get update will work.

Covert API from Job to Runspace

Proposal:

Current API is ran as a job, which seems to perform well in Linux. However, with testing I have found how to run API with threading in a runspace, which should create a more stable API overall.

1.) Create new API folder.
2.) Migrate API code within HTML folder.
3.) Re-Code API function to generate a runspace rather than start-Job

octuning.ps1

in octune.ps1 line 226:

if ($.Devices -eq $null) {$OCDevices = Get-DeviceString -TypeCount $GCount.NVIDIA.PSObject.Properties.Value.Count}

$.Devices -eq $null works in linux, but not in windows. If you change it to $.Devices -eq "", it works for linux, but not windows. It's a weird glitch.

I'm looking into fixes, but right now- This string of code may not work, depending on which platform you are using.

"xmrig_nv-1 download failed too many times- Blocking"

I accidentally added the windows .zip link, a botched copy/paste I missed.

Running this command (Remote or local) will fix it:

version update xmrig_nv xmrig-nvidia 2.14.0 https://github.com/MaynardMiner/MM.Compiled-Miners/releases/download/v4.0/xmrig-nvidia-linux.tar.gz

Master was updated

tpruvot / cryptodredge / teamredminer downloads.

I changed the link back to lower case "Linux", but when pulling repo across machines, I noticed it was back again.

I just kept it tpruvot-Linux, and fixed the repository to match. It should work now for -Cuda 9.2

Nebutech / Equihash miners telemetry

Multiple users complain about the various equihash miners, and SWARM failing to record stats.

This is a known bug for most "nebutech" style / equihash miners.

https://github.com/nanopool/ewbf-miner/issues/4

Is an example of known issue.

I already am running killcx.sh, but it seems to still not help.

The workaround will be to create script so that if the telemetry failed- SWARM will check logs for hashrates, unless someone knows of a way to unbind these ports beyond the method suggested in issue above.

powershell / bash api causes failure on miner starts

It was notated in discord that slower drives were having issues starting miner, it was determined it was due to the fact that they read/write wasn't happening fast enough to generate the starting bash script.

The fix has been applied to beta_testing branch.

If you have issues. you can copy the launchcode.ps1 script from beta_testing branch, and apply it to current version, until it is finished.

Parameter for faux stats.

It has been discussed in discord the idea of creating a % based parameter, that will help curb unrealistic stat data from pool.

The premesis, is that it will review the previous stat level, and if it is over a certain threshold by X percent (to be determined), the new incoming stat will be completely ignored to prevent unneeded switching from poor pool / market pricing management.

It will likely invoke some kind of 'warning' system, in which if it happens X amount of times (to be determined), SWARM will eventually concede the stat as 'authentic', and accept it, just in case of actual pumps.

"System.Management.Automation.PSCustomObject" to type "System.Collections.ArrayList"

SWARM Is Building The Database. Auto-Coin Switching: No
Checking Algo Pools
Adding Custom Pools
Checking Algo Miners
Warning: Blocking phoenix-1 mining ethash on whalesburg for NVIDIA1
Cannot convert value "@{Delay=1; Symbol=ethash; MinerName=ethdcrminer64; Prestart=System.Object[]; Type=NVIDIA1; Path=.\bin\claymore-1\ethdcrminer64; Devices=; DeviceCall=claymore; Arguments=-platform 2 -mport 1333 -mode 1 -allcoins 1 -allpools 1 -epool stratum+ssl://eu1.whalesburg.com:7777 -ewal  -eworker swarm1_2 -wd 0 -gser 2 -dbg -1 -eres 1 ; HashRates=; Quote=0.000155247831824539; PowerX=; ocpower=190; occore=0; ocmem=1100; ocfans=; ethpill=Yes; pilldelay=5; FullName=ethash; API=claymore; Port=1333; MinerPool=whalesburg; URI=https://github.com/MaynardMiner/MM.Compiled-Miners/releases/download/v4.0/Claymore-Linux.tar.gz; BUILD=Tar; Algo=ethash; Name=claymore-1}" to type "System.Collections.ArrayList". Error: "Cannot convert the "@{Delay=1; Symbol=ethash; MinerName=ethdcrminer64; Prestart=System.Object[]; Type=NVIDIA1; Path=.\bin\claymore-1\ethdcrminer64; Devices=; DeviceCall=claymore; Arguments=-platform 2 -mport 1333 -mode 1 -allcoins 1 -allpools 1 -epool stratum+ssl://eu1.whalesburg.com:7777 -ewal  -eworker swarm1_2 -wd 0 -gser 2 -dbg -1 -eres 1 ; HashRates=; Quote=0.000155247831824539; PowerX=; ocpower=190; occore=0; ocmem=1100; ocfans=; ethpill=Yes; pilldelay=5; FullName=ethash; API=claymore; Port=1333; MinerPool=whalesburg; URI=https://github.com/MaynardMiner/MM.Compiled-Miners/releases/download/v4.0/Claymore-Linux.tar.gz; BUILD=Tar; Algo=ethash; Name=claymore-1}" value of type "System.Management.Automation.PSCustomObject" to type "System.Collections.ArrayList"."
At /root/SWARM.2.0.4/swarm.ps1:1021 char:9

User is reporting an issue with the conversion to a [System.Collections.Arraylist].

I have only 1 known report. I believe it is an issue with his Powershell version. I have been unable to reproduce.

https://community.spiceworks.com/topic/2050505-convert-string-for-system-collections-arraylist

According this article- Another developer experienced issue, and found the solution was to convert item to Array before adding to [System.Collections.Arraylist]. I will attempt to do so, for powershell version compatibility.

SWARM - HiveOS name algo

Hey. Thank you for the good project. I use swarm in HiveOS. A big request. Make the names of the algorithms in accordance with HiveOS. Because of this, hiveos cannot apply an overclocking profile for the desired algorithm.
example:
SWARM - DaggerHashimoto (name algo)
HiveOS - ETHASH (name algo)
Need to do:
SWARM - ETHASH

Add config\wallets\wallets.json

Rather than having an altwallet argument for only one altcoin payout for all pools allowing altcoin payouts instead doing an altwallet address and coin selection for each pool that allows it.

For example:
-altwalletzergpool1 -altcurrencyzergpool1
-altwalletzergpool2 -altcurrencyzergpool2
-altwalletzergpool3 -altcurrencyzergpool3
-altwalletnlpool1 -altcurrencynlpool1
-altwalletnlpool2 -altcurrencynlpool2
-altwalletnlpool3 -altcurrencynlpool3
-altwalletblockmasters1 -altcurrencyblockmasters1
-altwalletblockmasters2 -altcurrencyblockmasters2
-altwalletblockmasters3 -altcurrencyblockmasters3
-altwalletzpool1 -altcurrencyzpool1
-altwalletzpool2 -altcurrencyzpool2
-altwalletzpool3 -altcurrencyzpool3

By keeping the original -wallet argument for BTC payout for the pools that only allow BTC payout (ahashpool, blazepool, hash refinery) but allowing different altcoin payouts depending on pools. A reason for doing it this way is because some pools, like Zergpool, have altcoins that aren't available on other pools and in order to mine Zergpool for that altcoin I would either need to make a separate flight sheet and eliminate all other pools.

So this would allow me to mine for Zcoin payout on Zergpool, LTC payout on nlpool, RVN payout on zPool. It will take more time to set up arguments but it allows for users to finish off wallet balances to each pool's threshold and switch payouts. For instance, if I wanted to switch all my altcoin payouts from LTC to BTC, I could change the arguments for BTC payout after I reach a certain pool's threshold for LTC payout and still keep other pools in the rotation.

User on Dev Wallet

1DRxiWx6yuZfN9hrEJa3BDXWVJ9yyJU36i |   | progpow | 1700 |   | 

There is a user on linux side using progminer, but must have made an error and specified my wallet instead.

It has consistently been proven this could not be a bug, but a user error.

Github

Github as of October 21st was causing issues. None of my commits were pushed, links I uploaded go to 404.

If you download anything, know that there are technical issues going on right now. I'm waiting a day to see if github resolves.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.