Ethereum: Automatic BFGMiner Device Addition
As a Bitcoin enthusiast, you are probably no stranger to the difficulties of manually adding devices to BFG Miner. The current method of entering device ports on each startup can be tedious and error-prone. Fortunately, we will look at alternative solutions that will allow you to automate this process.
Current Method: Simple Script
Your startup script is a good example of how manual input can work:
bfgminer -o stratum.bitcoin.cz:3333 -u ...
This sets the device port and username, but does not actually add the device yet. To automate this process, we will need to perform an additional step.
Introducing the bfgminergen script
The bfgminergen script is a tool specifically designed to generate BFGMiner configurations and automatically add them to the device list. Additional information about bfgminergen can be found on the official GitHub repository: [
Here is an example of a bfgminergen script that you can use to generate the configuration:
#!/bin/bash
Define the ports and usernames for each blockchain devicestratum1=(
"192.168.0.100:3333" "stratum.bitcoin.cz"
"192.168.0.101:3333" "stratum.bitcoin.us"
)
stratum2=(
"192.168.0.102:3333" "stratum.bitcoin.co"
"192.168.0.103:3333" "stratum.bitcoin.at"
)
Define the devices and corresponding portsdevices =(
"Block 1" "192.168.0.100:3333,192.168.0.101:3333"
"Block 2" "192.168.0.102:3333,192.168.0.103:3333"
)
Create BFGMiner configurationcat > config.json 2> /dev/null <{
"devices": {
"$("stratum1[0]" + "|$(stratum1[1])")" : true,
"$("stratum2[0]" + "|$(stratum2[1])")" : true
},
"port": "3333",
"username": "stratum.bitcoin.cz"
}
EOF
Save the configuration to a file and add it to your device list
cat config.json >> /dev/null > bfgminer.conf
Now you can add devices using this script:#!/bin/bash
echo "Enter device port:"
read devport
echo "Enter username:"
read devserver
echo "$bfgminer.conf"
bfgminer -o stratum.bitcoin.cz:$devport -u $devusername
Running bfgminergen
To run bfgminergen, save it to a file (e.g. “bfgminer-gen.sh”) and make the script executable:
chmod +x bfgminer-gen.sh
Then run the script as usual:
./bfgminer-gen.sh > bfgminer.conf
This will generate a config.json file with your BFGMiner configuration. You can then add this file to the device list using the provided script.
Tips and Variations
- To save time, you can also use the bfgminergen script to create multiple configurations for different blockchains.
- If you are using a Linux system, be sure to set the correct permissions before running (e.g.
chmod +x bfgminer-gen.sh
).
- You may want to add error handling and input validation to ensure that the device list is accurate.
By automating the process of adding devices to your BFGMiner using the bfgminergen script, you will save time and reduce errors. Happy mining!