A multithreaded DUCO Miner for the Playstation 3.
This application is a port of my DUCO miner 'nxducominer' for the Nintendo Switch.
While it may be tempting to leave a PlayStation 3 system running 24/7, I strongly advise against doing so. Even the newest PS3 hardware is now well over a decade old, and prolonged continuous operation puts significant stress on its components. I am in no way responsible for any damage, hardware failure, or data loss that may occur from running your PS3 in this manner. Proceed at your own risk.
Upon first launch, ps3ducominer will create ps3ducominer.txt
in /dev_hdd0/tmp
with the values below. Open the file and set the values accordingly.
Key | Type | Description |
---|---|---|
node |
str none |
The IP address of the node to connect to. Can be found manually here. If left empty the application will use http://server.duinocoin.com/getPool to find one. |
port |
int none |
The port of the node. If this is left blank, the application will find a node using the method above. Regardless if the node is set. |
wallet_address |
str |
The address/username of your duinocoin wallet. |
miner_key |
str none |
As specified in Wallet > Settings > Miner Key . Leave blank if not applicable. |
difficulty |
str |
The starting difficulty. The node will automatically negotiate the difficulty. Valid starting difficulties are LOW MEDIUM NET and EXTREME . LOW is recommended for this application. EXTREME is not used anywhere officially. More information on difficulties can be found here. |
rig_id |
str |
A friendly name for your miner which displays in the wallet. |
iot |
bool |
Either true or false . Upload IoT data to your wallet (CPU & RSX Temperatures, Fan Speed). |
threads |
int |
Number of threads to mine on. Between 1 and 3*. |
web_dashboard |
bool |
Either true or false . The web dashboard will run on port 8080 of the PS3's IP address. |
Device/Version | App version | CFLAGS | Threads | Shares /1hr | Avg. Hashrate (estimated) | Avg. Difficulty |
---|---|---|---|---|---|---|
CECH-2001A / 4.92 Evilnat (CEX) |
V1.00 |
N/A (release) |
3 | 1129 | 546.93 kH/s | 33500~ |
To enable remote debugging set these flags in
CFLAGS
:
-DDEBUG -DDEBUG_ADDR=\"target_ip\" -DDEBUG_PORT=\"target_port\"
You can use the included udpdebug.py
or something like nc -u -l -p port
to view debugging output.
If you are using PS3LoadX to send .self, .pkg
files to the PS3 set -DPS3LOADX
in CFLAGS
.
You will need to build and install the psl1ght toolchain, including ps3libraries, as well as pthread-emb-ps3.
Source: https://github.com/crystalct/tiny3D
Build & Install:
cd tiny3D
make
Source: https://github.com/humbertodias/pthread-emb-ps3
Build & Install:
make cmake-build
make cmake-install
If you encountered this error:
/path/to/ps3dev/ppu/include/sys/atomic.h:301:54: error: 'newv' undeclared (first use in this function)
#define sysAtomicSwap(v, new) (xchg(&((v)->counter), newv))
Modify this line in /path/to/ps3dev/ppu/include/sys/atomic.h
:
#define sysAtomicSwap(v, new) (xchg(&((v)->counter), newv))
^^^
to read:
#define sysAtomicSwap(v, newv) (xchg(&((v)->counter), newv))
tiny3d 2.0 + libfont: crystalct/tiny3D
pthread-emb-ps3 (pthread library for psl1ght): humbertodias/pthread-emb-ps3
jsmn (json parser): zserge/jsmn
This software is licensed under the MIT License.
This application was created with the official non-official SDK called PSL1GHT, for more information visit http://www.psl1ght.com/. This is in no way associated with Sony Computer Entertainment Inc., please do not contact them for help, they will not be able to provide it.