Regarding basic vs. advanced 1bash... I'd like to see it broken into three pieces.
[clip]
What do you think about CryptAtomeTrader44's idea and my thoughts on how to use it?
https://bitcointalksearch.org/topic/m.23380597Would this work for you?
I would learn to make it work for me. Having the wallets/pools exported would ease the upgrade process. But I don't see a need to change the format to csv or json... the current text file format works fine. The only complication comes from the fact that it's not preserved between updates and rebuilds.
Also, while I deeply appreciate that you want to make this simple for novices, I think you may be mistaking what parts are 'difficult' versus 'easy' for most novices. Once someone has the know-how to modify a text file on a USB stick, it doesn't make much difference whether they modify one, two, or three files. The confusing things are more along the lines of, "where is that file now that I'm running Ubuntu?" And I understand what "unix" and "main" mean, but what is "bash?"
(No joke; I'm from Windows land, and I had those questions. I put a text file with my wallet/pool info on the USB, but after first boot, I could not find it. Took me a long time to find the "media" folder! I also remember having a separate download of the 1bash, several versions ago, with instructions to put it in the "user home folder." So I put it into "/home" and couldn't figure out why it wouldn't pick up my settings. Also, I didn't know what the "m1" subfolder was for. Stupid newb!)
I actually think it would be simpler for new users to have three files to configure. Say,
1settings
1overclocking
1wallets
And 3main would begin with:
#!/bin/bash
source ~/1settings
source ~/1overclocking
source ~/1wallet
1settings could open with:
#!/bin/bash
# MINIMUM SETUP: Select a coin below and set your wallet/pool information in the file 1wallet
# NOTE: If you do not set your wallet/pool info in 1wallet, you will be making a
# mining donation to the developers and contributors. THANKS!)
# OPTIONAL: Choose additional options below and customize the overclocking settings in
# the file 1overclocking
# nvOC v0020-1.0 by fullzero
# + contributors:
1wallet could lead with:
#!/bin/bash
# MINIMUM SETUP: Set your wallet/pool information below, and select a coin to mine by
# editing the file 1settings. You ONLY need to set wallet/pool information for coins
# you intend to mine; the rest can be left at the defaults (which are donation addresses to
# the developers and contributors. THANKS!
# nvOC v0020-1.0 by fullzero
Lastly, 1wallet can open with:
#!/bin/bash
# EDITING THIS FILE IS OPTIONAL, AND ONLY NECESSARY IF OC IS ENABLED IN 1SETTINGS
# THIS FILE WILL NOT BE USED UNLESS OC IS ENABLED IN 1SETTINGS
# MINIMUM SETUP: Set your wallet/pool information in 1wallet, select a coin to mine
# by editing the file 1settings, and enable the overclocking methods of your choice
# in 1settings. Then set your overclocking details below.
# nvOC v0020-1.0 by fullzero
This approach requires less in the way of actual changes on your part, it preserves the different kinds of data in different files, but it remains clear and understandable to any user who can open a text file and edit it.
I'd also suggest a single 1bash, not basic versus advanced... just put everything you'd put into the basic right at the top. Follow that with something like,
######################################
######################################
##
## IF YOU'VE SELECTED A COIN ABOVE, AND ENTERED
## YOUR WALLET/POOL INFORMATION IN 1WALLET, YOU ARE DONE
## WITH BASIC SETUP! ALL COINS AND SETTINGS BELOW THIS POINT
## ARE OPTIONAL/ADVANCED.
##
######################################
######################################
ADVANCED="NO" # YES NO
# Set YES to enable ADVANCED mode settings below;
# Otherwise DO NOT change any settings below.
# YOU ARE RESPONSIBLE FOR YOUR CHOICES!
This lets you keep all the logic in one file, which I think will prove useful when troubleshooting.
Now, if this is going to cause you to need a bazillion more switches which you'd rather avoid by having a basic mode bash file, then, by all means, just do the basic/advanced thing.
It just seems to me that it's easier to keep it all in one place, and just to make it obvious where "Basic" ends and "Advanced" begins.
And again, if CSV or JSON is easier for you to implement than the current text file, by all means, go ahead... it just seems to me that it will not be easier. In fact, I fear that certain coin/pool combinations will require many settings that others don't, which will complicate the implementation and, honestly, may be what really confuses new people!
Why? Well, imagine you only know of 3 "facts" that go with your mining pool/wallet... and you go to fill in a line on a CSV file with 20 headings... how do you find all that other information?!? Versus finding a section that only asks for the 3 facts you have:
#ZClassic
ZCL_WORKER=$WORKERNAME
ZCL_ADDRESS="replace_with_your_ZCL_address"
ZCL_POOL="us.zclmine.pro"
ZCL_PORT="9009"
To me, that's much simpler than figuring out what to put in POOL_NAME versus POOL_DNS, and what's my WALLET_PROVIDER_NAME? For advanced users, filling out the sheet may be easier, because we'll understand better which rows need extra information, and which ones don't... but for the new person, every empty slot is another puzzler!