Nado
Standalone blockchain project built from scratch. Rewards for having an IP address. Proof-of-Work fairness. Proof-of-Stake efficiency. This project is not affiliated with any tokens.
Install / Use
/learn @hclivess/NadoREADME
Installation
Ubuntu
Before you start
Please close your node using /terminate or CTRL+C before shutting down your machine.
You can also use wget --delete-after localhost:9173/terminate --timeout 1 -t 1 from anywhere in your environment to force shutdown.
Virtual environment installation
Make sure to set your open file limit high enough:
nano /etc/security/limits.conf
root soft nofile 65535
root hard nofile 65535
Append:
fs.file-max = 100000
Then apply the settings and restart the machine.
sysctl -p
sudo reboot
You may now proceed with installation:
sysctl -w fs.file-max=65535
ulimit -n 1000000
screen -S nado
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
apt-get install python3.10-dev python3.10-venv
python3.10 -m venv nado_venv
source nado_venv/bin/activate
pip install --upgrade pip
git clone https://github.com/hclivess/nado
cd nado
pip install -r requirements.txt
To go back to your screen, use screen -r nado
To update your NADO installation, use
git reset --hard origin/main
git pull origin main
from the directory where you have it installed.
Windows
Before you start
When running in window console, please close your node using /terminate or CTRL+C. Never use the X in the upper right corner to avoid possible database corruption.
There is a release page in GitHub, which is periodically updated when major changes occur.
The easiest way to run NADO for Windows users is to use the nado.exe binary from there.
It is also possible to install Python on Windows and run NADO directly. Command line instructions:
Direct installation
First download the master branch from GitHub and extract the archive. Run the command line as Administrator and enter the following commands:
python -m pip install -r requirements.txt
To run NADO, execute the following command: python3.10 nado.py
After installation, go to your browser and announce your peer to one of the nodes like this: http://127.0.0.1:9173/announce_peer?ip=207.180.203.132. For this, you should have port 9173 open so the node is accessible from the internet if you want to receive rewards. After this step, synchronization should start shortly.
GUI Wallet
You can download the official NADO wallet here or on the release page of NADO.
CLI Wallet
You can use the CLI wallet by running python3.10 linewallet.py
This wallet takes arguments, which enable you to access more wallets from one place and also automate your routines.
All arguments can be displayed with python3.10 linewallet.py --help, here are some examples:
--sk, <private key> Use private key, ignore default key location
--amount, <number> Amount to send
--recipient, <NADO address> Recipient address
--fee, <number> Fee to spend
--target, <number> Target block number
--auto, <any> Uses suggested fee and target block instead of asking, use any value (1)
--peers <'130.61.131.16','207.180.203.132'> Broadcasts transaction only to the supplied list of peers
Remote access
After running the node, you can access it at http://127.0.0.1:9173 from where all API calls used by the node itself are accessible. Here are some examples:
- Raw: http://127.0.0.1:9173/get_account?address=ndo5ccd6e3aaaf4764161a29ef13d4bbda832e2cf4a94016c
- User-friendly using the
readable=trueargument: http://127.0.0.1:9173/get_account?readable=true&address=ndo5ccd6e3aaaf4764161a29ef13d4bbda832e2cf4a94016c
Private key storage
- Linux:
/~/nado/private/keys.dat
To view your file, you can use the following command: cat ~/nado/private/keys.dat. You may need to exit screen first using CTRL+a and then CTRL+d.
- Windows:
C:\Users\[username]\nado\private
Is there anything unique?
Yes. No mining or minting. All communication happens using a public API. Block production happens in every node at once, based on the deterministic principles of the participant addresses mixed with the blockchain state. This is possible because block production is separated from the consensual layer. It removes all the selfish miner incentives, which cause issues like transaction exclusion in traditional PoW systems.
What is NADO?
<p align="center"> <img src="https://nodeisok.com/media/overview.png" /> </p>NADO is short for Tornado. It is just another blockchain written from scratch with a highly experimental consensus algorithm, which was created to provide effortless block production for all participants with a public IP address. NADO is not a classic proof-of-work blockchain like Bitcoin. Unlike most other crypto, its focus is on accessibility to rewards for everyone. It has a fully elastic reward mechanism, rewarding users only when transactions are happening on the chain. Users can burn their share of tokens in order to increase their chances of winning more rewards in the future.
What's the reason for NADO?
NADO is a take on one of the newer trends, where users do not use graphics cards or specialized hardware for mining, nor do they have to own a large portion of tokens in order to be rewarded. It is inspired by IDENA and NYZO, while attempting to bring the barrier of entry even lower than those two by not requiring solving of puzzles or highly efficient machines for users to remain in a reward distribution cycle.
Emergency measures
When the network consensus drops too low, you can take the following measures to help improve it. This trades security for quicker and less ambiguous synchronization.
wget --delete-after http://127.0.0.1:9173/force_sync_ip?ip=207.180.203.132 forces synchronization
from a particular target IP, in this case 207.180.203.132. This feature turns off automatically once the network
consensus rises above 80%. For Windows and UI-based environments, simply access http://127.0.0.1:9173/force_sync_ip?ip=207.180.203.132
You can enable promiscuity mode, which ignores peer trust when synchronizing. This will default the synchronization
to a typical 51% scenario, which is less experimental. To set it up, go to your config file and add "promiscuous": true.
Restart your node to put it into effect.
It is also possible to decrease the synchronization cascading level to a given value, like 1. You can do that by
adding the following to your configuration file and restarting your node: "cascade_limit": 1. This setting will only
have effect when running in non-promiscuous mode. Value represents depth of hash pools to iterate through, choosing
based on trust. For example, there can be 50 nodes in state A, but there is no node with sufficient trust there,
so the node goes into the second most popular hash pool, let's say 30 nodes in state B and sync from those.
Resyncing
Should you choose to wipe out your database and resync the chain from scratch, you can use the bundled script: python3.10 purge.py
What does NADO do differently?
In NADO, every user generates new blocks at the same time. This is possible because users are not rewarded for producing blocks but for keeping the network running. After generating a block and receiving a reward, chances of receiving more block rewards are temporarily lowered based on the public IP address. Every IP address can only have one block generating node. While this excludes users without public addresses, it prevents node spamming to a degree.
Sounds interesting, can you elaborate?
There are multiple cycles for every block. It starts with accepting peers and transactions directly. In the second stage, transactions and peers are stored in a buffer for the following block so that transactions can stabilize across the network. NADO prefers decentralization to efficiency, which means it exposes consensus more than the individual node, which makes it more resilient regarding SPOF but less efficient.
But is there a premise?
The premise of NADO is that users stop being interested in decentralized value distributing projects because it becomes progressively more difficult for them to join them or remain as time goes on. The main reason for users to leave is not the lack of adoption, but the mismatch between adoption, distribution and inflation. Distribution is the single one most important aspect of a cryptocurrency project as proven in the success of NANO, where no single entity was capable of obtaining a high amount of tokens through monopolizing token distribution.
-
Constant rewards are counterproductive: Users will keep running their nodes even though they are not receiving rewards in a particular moment because there is no block reward for a particular block because network activity is low. Fighting inflation is more important than hoping for users to not stop running nodes.
-
Elastic distribution was one of the key promises of Vertcoin, one of the most popular cryptocurrencies of 2014. NADO puts these promises into practice.
-
Litecoin was created as a Bitcoin with fair distribution. None of the projects mentioned above put large effort into marketing and were extremely popular nonetheless.
-
Barrier of entry is directly correlated to fairness of distribution. This is an idea on which Steve Jobs built his entire business. Removal of hassles in Apple operating sys
Related Skills
node-connect
347.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.6kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.6kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
