Duino-Coin is a coin that can be mined with Computers, Raspberry Pis, Arduinos, ESP boards and many more.
| Key features | Technical specifications |
|---|---|
|
Supported by a large number of platforms π» A friendly & growing community π₯ Easy to use & exchange π± Available everywhere π Fully original project π Beginner-friendly π Cost-effective π° Easy to mine βοΈ Open-source π |
Coin supply: Infinite βΎοΈ (before December 2020: 350k coins) Premine: <5k blocks (<500 coins) π Transaction time: Instant β‘ Decimals: 20 π’ Ticker: DUCO (α²) Algorithms: DUCO-S1, DUCO-S1A (+more planned) Rewards: supported by Kolka system helping to reward miners fairly β |
Get started
| Official Wallet | Official Miners |
|---|---|
![]() |
![]() |
Official getting started guides for creating an account and setting up miners on variety of devices are available on the official website (or .onion version).
Installing Duino-Coin
The easiest way to get started with Duino-Coin is to download the latest release for your OS.
After downloading, unzip it and launch the desired program.
There are no dependencies required.
If you want to run the programs from source, you may need to install some dependencies. Here's how to do it on debian-based distros:
sudo apt install python3 python3-pip git
git clone https://github.com/revoxhere/duino-coin
cd duino-coin
python3 -m pip install -r requirements.txtIf you are on Windows, download Python 3, then our repository, extract it and open the folder in command prompt. In CMD, type:
py -m pip install -r requirements.txt
After doing this, you are good to go with launching the software (e.g. python3 PC_Miner.py OR py PC_Miner.py).
Community-made software
Other miners known to work with Duino-Coin:
- Dockerized DUCO Miner by Alicia426
- nonceMiner by colonelwatch
- NodeJS-DuinoCoin-Miner by DarkThinking
- d-cpuminer by phantom32
- Go Miner by yippiez
- ducominer by its5Q
- Unofficial miners directory
- NodeJS Miner by Bilaboz
- Julia Miner by revox
- Ruby Miner by revox
- Minimal Python Miner by revox
- (Old) Multithreaded Python Miner by Bilaboz
Other tools:
- DUCO Monitor by siunus
- duino-tools by kyngs
- Duino-Coin Auto Updater by Bilaboz
This list will be actively updated. If you want to add software to this list, submit a PR or contact one of the developers.
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your feature branch
- Commit your changes
- Make sure everything works as intended
- Open a pull request
Master server API
To build your own Duino-Coin apps, here's a list of of commands the master server accepts. To start communication however, firstly you need to connect to the server. For now you have two options:
- TCP connection (recommended) - server IP and port are static:
tcp://51.15.127.80:2811 - Websocket connection (through proxy - may not be available 100% of the time) - server IP and port are static:
ws://51.15.127.80:15808
Make sure you don't create more than 24 connections per IP address and don't make more than 24 connections in time shorter than 30 seconds. If you do that, the server may ban your IP for creating too much traffic and being a potential DDoS attacker. If you happen to get banned, wait about 315 seconds to get unbanned automatically.
After connecting, the server will send its version number it's currently on (2.2).
At this point you can send LOGI or REGI request to login or register an account or JOB,username to receive job for mining.
To login, send LOGI,username,password - replace username and password with credentials. After sucessfull login server will send OK.
If login fails, server will send NO,Reason of failed login.
To register, send REGI,username,password,email - again, by replacing the placeholders with the respective data.
After sucessful registration, the server will send OK.
If the registration fails, the server will send NO,Reason of failed registration.
After loging-in you have access to the following commands:
BALA- Server will return balance of current userJOB- Server will return job for mining-
You can also use
JOB,usernameto mine without loging-in -
You can ask for a specific mining difficulty:
JOB,username,DIFF(if you don't ask for a specific difficulty, you'll get the network diff) where diff is one of the below:AVR- diff 3 - used for official AVR boards miningESP- diff 75 - used for official ESP boards miningESP32- diff 100 - used for official ESP boards miningMEDIUM- diff 30k - used for lower-diff PC miningEXTREME- diff 950k - used for custom high performance miners
-
When sending the mining result, you can pass the hashrate count and the name of the miner along with rig name to display in the API, e.g.
6801,250000,My Cool Miner v4.20,House Minerindicates that result 6801 was found, the hashrate was 250000H/s (250kH/s) and the name of the software was "My Cool Miner v4.20" with a rig named "House Miner"- If hashrate is not received, server estimates it from time it took to receive share and sets
"Is estimated": "True"in the API - If software name is not received, server uses
"Software": "Unknown"in the API - If rig name is not received, server uses
"Identifier": "None"in the API
- If hashrate is not received, server estimates it from time it took to receive share and sets
-
SEND,-,recipientUsername,amount- Send funds to someone, the server will return a message about the state of the transactionGTXL,username,num- Get last num of transactions involving username (both deposits and withdrawals)CHGP,oldPassword,newPassword- Change password of current userWRAP,amount,tronAddress- Wrap DUCO on Tron network (wDUCO)- wDUCO unwrapping protocol:
- Send a Tron transaction with method
initiateWithdraw(ducoUsername,amount) - Send a server call
UNWRAP,amount,tronAddress
- Send a Tron transaction with method
Master server HTML API
You can use one of the following links to get API info from Duino-Coin Server:
- General statistics & worker API: api.json - refreshed every 5s
- User balances API: balances.json - refreshed every 30s
- Transactions API: transactions.json - refreshed every 2m
- Found blocks API: foundBlocks.json - refreshed every 2m
C DUCO library
If you want to easily access the Duino-Coin API with your C apps, you can use libduco which is made by @Sarah. @ygboucherk is also working on one wich you can access here duino-coin-C-lib
Python3 DUCO API module
If you want to easily access the Duino-Coin API with your Python3 apps, @connorhess made an official module for that here: duco_api.py and you can find the documentation for it here: README.md
Duino-coin for the AUR
You can get the whole duino-coin bundle now on the AUR - just install it with your favourite AUR Helper (for example using yay):
- Install git (if you haven't already)
- Clone the yay repo
sudo git clone https://aur.archlinux.org/yay-git.git
cd yay-git- Build the package using the makepkg
- Use yay to install AUR package
Have fun mining!
License
Duino-Coin is mostly distributed under the MIT License. See LICENSE file for more information.
Major frameworks used by Duino-Coin:
- cryptosuite2 - Arduino SHA1 hashing
- Hash.h library - ESP8266 SHA1 hashing
- pySerial - Arduino and Python communication
- auto-py-to-exe - creating executables
- PyGithub - pool statistics API integration
- m-cpuminer-v2 - Developer donation
Officially tested devices
- Arduino Uno Rev3 (ATmega328p @ 16MHz 5V) - ~170 H/s - Arduino Code & Miner
- Arduino Pro Mini (ATmega328p @ 16MHz 5V) - ~170 H/s - Arduino Code & Miner
- NodeMCU (ESP8266 @ 80 MHz) - ~1,15 kH/s - ESP8266 Code
- NodeMCU (ESP8266 @ 160 MHz) - ~2,15 kH/s - ESP8266 Code
- ESP32 dual-threaded - ~13 kH/s (6 kH/s (core1) + 7 kH/s (core2)) - Multithreaded ESP32 code
Hashrate Calculators for AVR/ESP8266 platforms are available in the Useful tools branch.
Terms of usage
1. Duino-Coins are earned by miners with a process called mining.
2. Mining is described as using DUCO-S1 algorithm (explained in the Duino-Coin Whitepaper), in which finding a correct result to a mathematical problem gives the miner a reward.
3. Mining can be officially done using CPUs, AVR boards (e.g. Arduino boards), Single-board computers (e.g. Raspberry Pi boards), ESP32/8266 boards with the usage of official miners (other officially allowed miners are described in the upper part of README).
4. Even though Duino-Coin aims to fairly reward all the miners, mining with GPUs, ASICs, FPGAs is not allowed due to obvious reasons.
5. Any users spotted using inappropriate/overpowered hardware can be banned from the network.
6. Banning involves blocking the user from accessing his account and accessing his coins.
7. Only coins earned legally are eligible for the exchange.
8. These terms of usage can change at any time without prior notice and will be expanded in the future.
9. Users using Duino-Coin agree to comply with the above rules.
Developers
-
Developers:
- @revox (Founder) - robik123.345@gmail.com
- @Bilaboz
- @connorhess
- @JoyBed
- @LDarki
- @travelmode
- @ygboucherk (wDUCO dev)
-
Webmaster:
-
Contributors:
Special thanks
- @ATAR4XY for designing early logos
- @Tech1k for Beyondcoin partnership and providing duinocoin.com domain
- @MrKris7100 for help with implementing SHA1 algorithm
- @daknuett for help with Arduino SHA1 library
Project Link: https://github.com/revoxhere/duino-coin/

