Skip to content

ᕲ Duino-Coin is a cryptocurrency that can be mined with Arduino boards.

License

Notifications You must be signed in to change notification settings

MattLancaster/duino-coin

 
 

Repository files navigation




Duino-Coin is a cryptocurrency that can be mined with AVR boards.


Key features:

  • Supported by a large number of platforms 💻
  • A friendly & growing community 👥
  • Easy to use & exchange 💱
  • Available everywhere 🌎
  • Cost-effective 💰
  • Easy to mine ⛏️
  • Open-source 📚

Technical specifications:

  • Coin supply: Infinite ♾️ (before December 2020: 350k coins)
  • Premine: <5k blocks (<500coins) 😎
  • Block time: Instant ⚡
  • Decimals: 20 🔢
  • Ticker: DUCO (ᕲ)
  • Algorithms: DUCO-S1, DUCO-S1A (+more planned) supported by Kolka system helping 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).

Community-made software


Other miners:

Other tools:

This list will be actively updated.

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 now static (but can change) and can be found here
  • Websocket connection (through proxy - may not be available 100% of the time) - server IP and port are static and are ws://51.15.127.80:15808

After connecting, the server will send version number it's currently on (1.7). 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 words with respective data. After sucessfull registration server will send OK. If registration fails, 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 user
  • JOB - Server will return job for mining - you can also use JOB,username to mine without loging-in
    • When sending result, you can pass hashrate count and miner name to display in the API, e.g.(6801,250000,My Cool Miner v4.20) indicates that result 6801 was found, hashrate was 250000H/S (250kH/s) and software name was My Cool Miner v4.20
      • 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
  • SEND,-,recipientUsername,amount - Send funds to someone, server will return a message about state of the transaction
  • CHGP,oldPassword,newPassword - Change password of current user

Python3 DUCO API module


To build your own Duino-Coin apps we've created Duino-Coin API for python3. Here's the documentation for the module.

Getting Started

import duco_api

Initialize the connection to the server

api_connection = duco_api.api_actions() #creates the api connection instance

The next step is to Login/Register Note: login and register do not require you to init but they close the connection after use

Login

api_connection.login(username="username", password="password")

Register

api_connection.register(username="username", password="password", email="[email protected]")

Functions

These functions require user being loged-in.

Balance

Gets the current balance of the logged-in user
api_connection.balance() # takes no args

Transfer

Transfers Duco from logged-in user to the specified username
api_connection.transfer(recipient_username='test_user1', amount=1)

reset password

Resets the password of the logged-in user
api_connection.reset_pass(old_password='123', new_password='abc')

Other Functions

Use of this functions does not require being loged-in.

Get Duco Price

starts a thread with a loop that runs every 15 seconds
duco_api.GetDucoPrice() # access the value by using the global variable <ducofiat>

Example API script

import duco_api

api_connection = duco_api.api_actions()

api_connection.login(username='YourUsername', password='YourPassword')

current_balance = api_connection.balance()
print(current_balance)

api_connection.close()

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: yay).

To get it faster, i will help y'all here:

  1. Install git

sudo pacman -S git

  1. You have to clone the yay repo.

sudo git clone https://aur.archlinux.org/yay-git.git

  1. Get into the Folder

cd yay-git

  1. Next, build the package using the makepkg command below.

makepkg -si

  1. Now you can use yay to install AUR packages

yay -S duino-coin

  1. 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:

Officially tested devices


  • Arduino Uno Rev3 (ATmega328p @ 16MHz 5V) - Unkown Hashrate - Arduino Code & Miner
  • Arduino Pro Mini (ATmega328p @ 16MHz 5V) - 150 H/s - Arduino Code & Miner
  • NodeMCU (ESP8266 @ 80 MHz) - 1,15 kH/s - ESP Code
  • NodeMCU (ESP8266 @ 160 MHz) - 2,15 kH/s - ESP Code

Hashrate Calculators for AVR/ESP platforms are available in the Useful tools branch.

Developers


Special thanks



Project Link: https://github.com/revoxhere/duino-coin/

About

ᕲ Duino-Coin is a cryptocurrency that can be mined with Arduino boards.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 74.3%
  • C 14.4%
  • C++ 8.8%
  • JavaScript 1.5%
  • Ruby 1.0%