Welcome to Cheetahcoin Documentation!
Last Update: 'January 11, 2022 2:07 pm'
Guides and documentation pulled and cloned from the ShorelineCrypto / Cheetahcoin Github repository are available here.
Documentation ranges from Operating System specific wallet setup guides, 3rd party dependency install support, release notes & process, coding standards, and guides for building the source code locally.
Additional guides/docs
Important and significant documentation too large to be hosted on the github repo as .PDF's are also available here.
IMPORTANT NOTE !!
If you need additional assistance or have questions that aren't answered in available documentation, remember to join us on our discord channel: HERE!
Cheetahcoin Whitepaper 2021_01
Android Install Guide
CHTA & NewPac on Win 10 Setup Guide
WCHTA, Metamask, & Pancakeswap
CHTA v1_7 Hard Fork Proposal
CHTA v1_8 Hard Fork Proposal
CHTA v1_9 Hard Fork Proposal
/ README
Last Modified: '2021-12-21 23:46:06 -0500'
Cheetahcoin integration/staging tree
Copyright (c) 2009-2013 Bitcoin Developers
Copyright (c) 2018-2021 Nengcoin Developers
Copyright (c) 2021 Cheetahcoin Developers
What is Cheetahcoin?
Cheetahcoin is bitcoin's cat meme coin. Cheetahcoin is world first and only SHA256 coin minable on Android phones.
Cheetahcoin forked solo mining and mobile mining technology from Nengcoin (NENG) on SHA256 using a proof-of-work algorithm with enhanced features to protect against 51% attack and decentralize on mining to allow diversified mining rigs across CPUs, GPUs, ASICs and Android phones.
Major releases features:
- v1.6.x Forked off Nengcoin randomSpike-v1.6.x on SHA256 on top of bitcoin core v0.8.6
- v1.7.x New Logo, cheetah diff 4x, plus minor bitcoin core code updates
- v1.8.x cheetah diff 3x
- v1.9.x Fixed slow hack risk, cheetah diff rise 3x, spike drop 5x
Current full version name: "1.9.1.0_randomSpike-v1.9.x" (shorthand: "v1.9.x") Note: latest different platform wallets have "1.9.1.0" version tag in QT wallet. The downloaded files should have correct version on file names supporting different hardware devices and OS.
Bitcointalk Ann https://bitcointalk.org/index.php?topic=5309004.0
Community web http://www.cheetahcoin.org
Reddit https://www.reddit.com/r/cheetahcoin/
Discord https://discord.gg/WgXrgSYrBr
Twitter https://twitter.com/cheetah_coin
License
Cheetahcoin is released under the terms of the MIT license. See COPYING
for more
information or see http://opensource.org/licenses/MIT.
doc / README
Last Modified: '2021-01-15 22:24:42 -0500'
Cheetahcoin 0.8.6 BETA
Copyright (c) 2009-2013 Bitcoin Developers Copyright (c) 2018-2021 Cheetahcoin Developers Copyright (c) 2021 Cheetahcoin Developers
Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. This product includes cryptographic software written by Eric Young (eay@cryptsoft.com), and UPnP software written by Thomas Bernard.
Intro
Cheetahcoin is a free open source peer-to-peer electronic cash system that is completely decentralized, without the need for a central server or trusted parties. Users hold the crypto keys to their own money and transact directly with each other, with the help of a P2P network to check for double-spending.
Setup
You need the Qt4 run-time libraries to run Cheetahcoin-Qt. On Debian or Ubuntu:
sudo apt-get install libqtgui4
Unpack the files into a directory and run:
- bin/32/cheetahcoin-qt (GUI, 32-bit)
- bin/32/cheetahcoind (headless, 32-bit)
- bin/64/cheetahcoin-qt (GUI, 64-bit)
- bin/64/cheetahcoind (headless, 64-bit)
See the documentation at the Cheetahcoin Wiki for help and more information.
Other Pages
doc / README windows
Last Modified: '2021-01-15 22:24:42 -0500'
1 | Cheetahcoin 0.8.5 BETA |
2 | |
3 | Copyright (c) 2009-2013 Bitcoin Developers |
4 | Distributed under the MIT/X11 software license, see the accompanying |
5 | file COPYING or http://www.opensource.org/licenses/mit-license.php. |
6 | This product includes software developed by the OpenSSL Project for use in |
7 | the OpenSSL Toolkit (http://www.openssl.org/). This product includes |
8 | cryptographic software written by Eric Young (eay@cryptsoft.com). |
9 | |
10 | |
11 | Intro |
12 | ----- |
13 | Cheetahcoin is a free open source peer-to-peer electronic cash system that is |
14 | completely decentralized, without the need for a central server or trusted |
15 | parties. Users hold the crypto keys to their own money and transact directly |
16 | with each other, with the help of a P2P network to check for double-spending. |
17 | |
18 | |
19 | Setup |
20 | ----- |
21 | Unpack the files into a directory and run cheetahcoin-qt.exe. |
22 | |
23 | Cheetahcoin-Qt is the original Cheetahcoin client and it builds the backbone of the network. |
24 | However, it downloads and stores the entire history of Cheetahcoin transactions; |
25 | depending on the speed of your computer and network connection, the synchronization |
26 | process can take anywhere from a few hours to a day or more. |
27 | |
28 | See the cheetahcoin wiki at: |
29 | https://en.cheetahcoin.it/wiki/Main_Page |
30 | for more help and information. |
31 |
doc / Tor
Last Modified: '2021-01-15 22:24:42 -0500'
1 | TOR SUPPORT IN CHEETAHCOIN |
2 | ====================== |
3 | |
4 | It is possible to run Cheetahcoin as a Tor hidden service, and connect to such services. |
5 | |
6 | The following directions assume you have a Tor proxy running on port 9050. Many distributions |
7 | default to having a SOCKS proxy listening on port 9050, but others may not. |
8 | In particular, the Tor Browser Bundle defaults to listening on a random port. See |
9 | https://www.torproject.org/docs/faq.html.en#TBBSocksPort for how to properly |
10 | configure Tor. |
11 | |
12 | |
13 | 1. Run cheetahcoin behind a Tor proxy |
14 | --------------------------------- |
15 | |
16 | The first step is running Cheetahcoin behind a Tor proxy. This will already make all |
17 | outgoing connections be anonimized, but more is possible. |
18 | |
19 | -socks=5 SOCKS5 supports connecting-to-hostname, which can be used instead |
20 | of doing a (leaking) local DNS lookup. SOCKS5 is the default, |
21 | but SOCKS4 does not support this. (SOCKS4a does, but isn't |
22 | implemented). |
23 | |
24 | -proxy=ip:port Set the proxy server. If SOCKS5 is selected (default), this proxy |
25 | server will be used to try to reach .onion addresses as well. |
26 | |
27 | -tor=ip:port Set the proxy server to use for tor hidden services. You do not |
28 | need to set this if it's the same as -proxy. You can use -notor |
29 | to explicitly disable access to hidden service. |
30 | |
31 | -listen When using -proxy, listening is disabled by default. If you want |
32 | to run a hidden service (see next section), you'll need to enable |
33 | it explicitly. |
34 | |
35 | -connect=X When behind a Tor proxy, you can specify .onion addresses instead |
36 | -addnode=X of IP addresses or hostnames in these parameters. It requires |
37 | -seednode=X SOCKS5. In Tor mode, such addresses can also be exchanged with |
38 | other P2P nodes. |
39 | |
40 | In a typical situation, this suffices to run behind a Tor proxy: |
41 | |
42 | ./cheetahcoin -proxy=127.0.0.1:9050 |
43 | |
44 | |
45 | 2. Run a cheetahcoin hidden server |
46 | ------------------------------ |
47 | |
48 | If you configure your Tor system accordingly, it is possible to make your node also |
49 | reachable from the Tor network. Add these lines to your /etc/tor/torrc (or equivalent |
50 | config file): |
51 | |
52 | HiddenServiceDir /var/lib/tor/cheetahcoin-service/ |
53 | HiddenServicePort 8537 127.0.0.1:8537 |
54 | |
55 | The directory can be different of course, but (both) port numbers should be equal to |
56 | your cheetahcoind's P2P listen port (8537 by default). |
57 | |
58 | -externalip=X You can tell cheetahcoin about its publicly reachable address using |
59 | this option, and this can be a .onion address. Given the above |
60 | configuration, you can find your onion address in |
61 | /var/lib/tor/cheetahcoin-service/hostname. Onion addresses are given |
62 | preference for your node to advertize itself with, for connections |
63 | coming from unroutable addresses (such as 127.0.0.1, where the |
64 | Tor proxy typically runs). |
65 | |
66 | -listen You'll need to enable listening for incoming connections, as this |
67 | is off by default behind a proxy. |
68 | |
69 | -discover When -externalip is specified, no attempt is made to discover local |
70 | IPv4 or IPv6 addresses. If you want to run a dual stack, reachable |
71 | from both Tor and IPv4 (or IPv6), you'll need to either pass your |
72 | other addresses using -externalip, or explicitly enable -discover. |
73 | Note that both addresses of a dual-stack system may be easily |
74 | linkable using traffic analysis. |
75 | |
76 | In a typical situation, where you're only reachable via Tor, this should suffice: |
77 | |
78 | ./cheetahcoind -proxy=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -listen |
79 | |
80 | (obviously, replace the Onion address with your own). If you don't care too much |
81 | about hiding your node, and want to be reachable on IPv4 as well, additionally |
82 | specify: |
83 | |
84 | ./cheetahcoind ... -discover |
85 | |
86 | and open port 8537 on your firewall (or use -upnp). |
87 | |
88 | If you only want to use Tor to reach onion addresses, but not use it as a proxy |
89 | for normal IPv4/IPv6 communication, use: |
90 | |
91 | ./cheetahcoin -tor=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover |
92 | |
93 |
doc / build-msw
Last Modified: '2021-01-15 22:24:42 -0500'
Copyright (c) 2009-2013 Bitcoin Developers
Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. This product includes cryptographic software written by Eric Young (eay@cryptsoft.com), and UPnP software written by Thomas Bernard.
See readme-qt.rst for instructions on building Cheetahcoin-Qt, the graphical user interface.
WINDOWS BUILD NOTES
Compilers Supported
TODO: What works? Note: releases are cross-compiled using mingw running on Linux.
Dependencies
Libraries you need to download separately and build:
default path download
OpenSSL \openssl-1.0.1c-mgw http://www.openssl.org/source/ Berkeley DB \db-4.8.30.NC-mgw http://www.oracle.com/technology/software/products/berkeley-db/index.html Boost \boost-1.50.0-mgw http://www.boost.org/users/download/ miniupnpc \miniupnpc-1.6-mgw http://miniupnp.tuxfamily.org/files/
Their licenses:
OpenSSL Old BSD license with the problematic advertising requirement
Berkeley DB New BSD license with additional requirement that linked software must be free open source
Boost MIT-like license
miniupnpc New (3-clause) BSD license
Versions used in this release:
OpenSSL 1.0.1c
Berkeley DB 4.8.30.NC
Boost 1.50.0
miniupnpc 1.6
OpenSSL
MSYS shell:
un-tar sources with MSYS 'tar xfz' to avoid issue with symlinks (OpenSSL ticket 2377) change 'MAKE' env. variable from 'C:\MinGW32\bin\mingw32-make.exe' to '/c/MinGW32/bin/mingw32-make.exe'
cd /c/openssl-1.0.1c-mgw
./config
make
Berkeley DB
MSYS shell:
cd /c/db-4.8.30.NC-mgw/build_unix
sh ../dist/configure --enable-mingw --enable-cxx
make
Boost
DOS prompt:
downloaded boost jam 3.1.18
cd \boost-1.50.0-mgw
bjam toolset=gcc --build-type=complete stage
MiniUPnPc
UPnP support is optional, make with USE_UPNP=
to disable it.
MSYS shell:
cd /c/miniupnpc-1.6-mgw
make -f Makefile.mingw
mkdir miniupnpc
cp *.h miniupnpc/
Cheetahcoin
DOS prompt:
cd \cheetahcoin\src
mingw32-make -f makefile.mingw
strip cheetahcoind.exe
doc / build-osx
Last Modified: '2021-01-15 22:24:42 -0500'
# Mac OS X cheetahcoind build instructions
Authors
- Laszlo Hanyecz solar@heliacal.net
- Douglas Huff dhuff@jrbobdobbs.org
- Colin Dean cad@cad.cx
- Gavin Andresen gavinandresen@gmail.com
- Hong Lu
License
Copyright (c) 2009-2012 Bitcoin Developers Copyright (c) 2018-2021 Nengcoin Developers Copyright (c) 2021 Cheetahcoin Developers
Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/).
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard.
Notes
macOS 10.15 (Catalina) - Supported on Binary only
macOS Catalina was also tested but failed to build from source. However, Catalina is supported on binary wallet. Please check out CHTA v1.4.1.0 for MacOS Catalina wallet.
MacOS 10.11 (El Capitan) to MacOS 10.14 (Mojave) - Fully Supported
Tested on OS X 10.11 (El Capitan)/ macOS 10.14.4 (Mojave) on Intel processors only. The binary wallet release was compiled on Mojave. However the compilation method below should work for any version between 10.11 to 10.14.
All of the commands should be executed in a Terminal application. The
built-in one is located in /Applications/Utilities
.
## Preparation in OSX 10.11
Type below in terminal to install Xcode command line tools:
xcode-select --install
Open up browser such as firefox, register for an apple developer account and search web and download Xcode version 7.3.1. Install dmg file into Application of your Mac.
In below compiling steps in brew, there migh be warning that Xcode 7.3.1 is outdated, please upgrade to Xcode 8.x.x , ignore that.
Preparation in macOS 10.14
Type below in terminal to install Xcode command line tools:
xcode-select --install
Required Package and Library for both OSX 10.11 and macOS 10.14
Perform below command line steps within terminal
Install HomeBrew
Follow brew: https://brew.sh/
Homebrew version 2.7.0 was major change in that several features of CHTA core wallet installation on macOS no longer works. (1) boost@1.55 was deleted from repository (2) brew switch is changed to brew link, which itself has limited feature by disabling many cases. Below is workaround to fix Homebrew post v2.7.0 version installation for CHTA macOS wallet.
Install dependencies using Homebrew
brew install wget
brew install gcc@5
brew install miniupnpc openssl berkeley-db4
Switch openssl to older version,
openssl default installation is now version 1.1, incompatible with CHTA.
A workaround solution from https://stackoverflow.com/questions/59006602/dyld-library-not-loaded-usr-local-opt-openssl-lib-libssl-1-0-0-dylib
post homebrew v2.7.0 equivalent
brew install openssl@1.0
cd /usr/local/opt
rm openssl
ln -s ../Cellar/openssl@1.0/1.0.2t openssl
Note: After you have installed the dependencies, you should check that the Brew installed version of OpenSSL is the one available for compilation. You can check this by typing
openssl version
into Terminal. You should see "OpenSSL 1.0.2t 10 Sep 2019".
If not, you can ensure that the Brew OpenSSL is correctly linked by running
brew link openssl --force
Rerunning "openssl version" should now return the correct version.
Above step may not work for macOS El Capitan or Mojave, insert below into ~/.bash_profile file and reboot the machine.
export PATH="/usr/local/Cellar/gcc@5/5.5.0_6/bin:/Library/Developer/CommandLineTools/usr/bin:/usr/local/opt/openssl/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
Install Qt4.8 with below commands
brew tap cartr/qt4
brew install qt@4
Install miniupnpc-1.9.20150206
miniupnpc 2.1 is default, which is incompatible with CHTA.
wget http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.20150206.tar.gz
tar xvfz "download.php?file=miniupnpc-1.9.20150206.tar.gz"
rm -rf /usr/local/Cellar/miniupnpc/1.9
mv miniupnpc-1.9.20150206 /usr/local/Cellar/miniupnpc/1.9
cd /usr/local/Cellar/miniupnpc/1.9
make upnpc-static
cd /usr/local/opt
rm miniupnpc
ln -s ../Cellar/miniupnpc/1.9 miniupnpc
Install boost@1.55
wget https://github.com/ShorelineCrypto/nengcoin/releases/download/v1.5.0.0/boost_1.55.0_osx10.11.tgz
tar xvfz boost_1.55.0_osx10.11.tgz
mkdir -p /usr/local/Cellar/boost@1.55/1.55.0_1
rm -rf /usr/local/Cellar/boost@1.55/1.55.0_1
mv 1.55.0_1 /usr/local/Cellar/boost@1.55/
cd /usr/local/opt
rm boost@1.55
ln -s ../Cellar/boost@1.55/1.55.0_1 boost@1.55
for both MacOS Mojave or El Capitan
Building command line and QT wallet
- Clone the github tree to get the source code and go into the directory.
git clone https://github.com/ShorelineCrypto/cheetahcoin.git
cd cheetahcoin/src
make -f makefile.osx USE_UPNP=1
strip cheetahcoind
Special Note for macOS Mojave: a confusing error might pop up on first try, "fatal error: string.h: No such file or directory". The string.h file might be there and look normal. Follow below URL guide to fix the issue: https://stackoverflow.com/questions/39736728/fatal-error-string-h-no-such-file-or-directory
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
After successful compilcation, a file 'cheetahcoind' should show up in the folder. This is command line wallet
Run below to compile QT wallet under main folder
cd ..
cp bitcoin-qt.pro.osx bitcoin-qt.pro
qmake USE_UPNP=1
make
Running command line wallet
It's now available at ./cheetahcoind
, provided that you are still in the src
directory. We have to first create the RPC configuration file, though.
Run ./cheetahcoind
to get the filename where it should be put, or just try these
commands:
echo -e "rpcuser=cheetahcoinrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/Cheetahcoin/cheetahcoin.conf"
chmod 600 "/Users/${USER}/Library/Application Support/Cheetahcoin/cheetahcoin.conf"
When next you run it, it will start downloading the blockchain, but it won't output anything while it's doing this. This process may take several hours.
Other commands:
./cheetahcoind --help # for a list of command-line options.
./cheetahcoind -daemon # to start the cheetahcoin daemon.
./cheetahcoind help # When the daemon is running, to get a list of RPC commands
Running Qt wallet
Use mouse to find the folder "Cheetahcoin-Qt.app", double click and launch the GUI wallet "Cheetahcoin-Qt.app". QT wallet and command line wallet share the same folder for configuration file and synced blockchain files. They can not be running together within same account, only one at a time.
doc / build-unix
Last Modified: '2021-01-15 22:24:42 -0500'
Copyright (c) 2009-2013 Bitcoin Developers
Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. This product includes cryptographic software written by Eric Young (eay@cryptsoft.com), and UPnP software written by Thomas Bernard.
Docker Image
A docker file "Dockerfile-ubuntu" for compiling Cheetahcoin (CHTA) in ubuntu 16.04 is provided here. You can pull down a docker image built on this docker file by below docker command.
For x86_64:
docker pull shorelinecrypto/neng_ubuntu16_x86_64:v1.3.0.1
For armhf:
docker pull shorelinecrypto/neng_ubuntu16_armhf:v1.4.0.5
Linux Distros supported on binary wallet only
Currently, only Ubuntu 16.04 or Debian 7 (Wheezy) / 8 (Jessie) are described below for compiling wallet from source.
Newer versions of various linux distros are supported on binary wallet download only. Please check out v1.4.0.3 release ( https://github.com/ShorelineCrypto/CheetahCoin/releases/tag/v1.4.0.3 ) or follow web README page at each subfolder under: https://github.com/ShorelineCrypto/CheetahCoin/tree/master/doc
The list of Linux distros currently supported on binary download on x86_64 platform:
- Arch Linux
- Debian 9 (stretch) / 10 (buster)
- Fedora 32
- Manjaro 20.0.3
- MX Linux 19.2
- Linux Mint 20
- openSUSE Tumbleweed
- Ubuntu 20.04/18.04/16.04
The list of Linux distros currently supported on binary download on arm64 platform: - Ubuntu 16.04 - Ubuntu 18.04 - Debian 9 - Debian 10
The list of Linux distros currently supported on binary download on armhf platform: - Ubuntu 16.04 - Ubuntu 18.04 - Debian 9 - Debian 10
Ubuntu 16.04 on x86_64 or arm64/armhf
Ubuntu 16.04 CHTA wallet can be compiled from source on x86_64 or arm64/armhf hardware.
Dependencies for Ubuntu 16.04
Library Purpose Description ------- ------- ----------- libssl SSL Support Secure communications libdb4.8 Berkeley DB Blockchain & wallet storage libboost Boost C++ Library miniupnpc UPnP Support Optional firewall-jumping support
miniupnpc may be used for UPnP port mapping. It can be downloaded from here. UPnP support is compiled in and turned off by default. Set USE_UPNP to a different value to control this:
USE_UPNP= No UPnP support miniupnp not required
USE_UPNP=0 (the default) UPnP support turned off by default at runtime
USE_UPNP=1 UPnP support turned on by default at runtime
IPv6 support may be disabled by setting:
USE_IPV6=0 Disable IPv6 support
Linux Compilcation Guide
Licenses of statically linked libraries: Berkeley DB New BSD license with additional requirement that linked software must be free open source Boost MIT-like license miniupnpc New (3-clause) BSD license
Versions used in this release in Ubuntu 16.04
- GCC 5.4
- OpenSSL 1.0.2g
- Berkeley DB 4.8.30.NC
- Boost 1.58.0
- miniupnpc 1.9
- Qt 4.8
Dependency Build Instructions: Ubuntu 16.04 / Ubuntu 18.04
Build requirements:
sudo apt-get install build-essential g++ libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libboost-all-dev
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev
sudo apt-get install libzmq3-dev libbz2-dev
sudo apt-get install libqt4-dev libprotobuf-dev protobuf-compiler
sometimes zlib will generate error, reinstall this
sudo apt-get install --reinstall zlib1g
Optional, but recommended:
sudo apt-get install libminiupnpc-dev (see USE_UPNP compile flag)
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
Notes
The release is built with GCC and then "strip bitcoind" to strip the debug symbols, which reduces the executable size by about 90%.
Cheetahcoin Linux BUILD NOTES on Ubuntu 16.04
Headless cheetahcoin CLI
cd src
make -f makefile.unix USE_UPNP=1
strip cheetahcoind
Qt GUI Wallet
cd ..
qmake USE_UPNP=1
make
Ubuntu 18.04
There are two ways to obtain Ubuntu 18.04 compatible binary. The first approach is to follow similar steps above to compile everything in Ubuntu 18.04. This could be complicated. Without custome method, a simple apt-get and same steps like Ubuntu 16.04 will fail on boost.
An easier way is simply using Ubuntu 16.04 compiled binary files, then compile a boost library version 1.58.0 in Ubuntu 18.04
(1) Download Ubuntu 16.04 binary files from release from https://github.com/ShorelineCrypto/CheetahCoin/releases
(2) Compile boost v1.58.0 library in Ubuntu 18.04 with below steps:
wget -O boost_1_58_0.tar.bz2 http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.bz2/download
tar xvfj boost_1_58_0.tar.bz2
cd boost_1_58_0
./bootstrap.sh --with-libraries=all --with-toolset=gcc
./b2 toolset=gcc
sudo ./b2 install --prefix=/usr
sudo ldconfig
- (3) Re-run either QT or command line Ubuntu 16.04 files, all should work in Ubuntu 18.04, tested to be good on arm64 cloud vps
Debian Wheezy or Jessie
CHTA core wallet can be compiled in Debian 7 (wheezy) or Debian 8 (jessie). The dependencies are actually mostly same as Ubuntu 16.04 except for berkley DB shown below. Please check out the android arm subfolder for more information on debian platform on library dependencies compiling and installation.
sudo apt-get -y install qt4-default
cd /opt
wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
tar xvfz db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix
../dist/configure --enable-cxx --disable-shared --disable-replication
make
cat >> ~/.bashrc << EOF
export LDFLAGS="-L/opt/db-4.8.30.NC/build_unix"
export CPPFLAGS="-I/opt/db-4.8.30.NC/build_unix"
EOF
For actual CHTA core wallet compiling, run below in Debian wheezy or jessie:
cd CheetahCoin/src
make -f makefile.debian USE_UPNP=1
strip cheetahcoind
cd ..
cp bitcoin-qt.pro.debian bitcoin-qt.pro
qmake USE_UPNP=1
make
doc / coding
Last Modified: '2021-01-15 22:24:42 -0500'
Coding
Please be consistent with the existing coding style.
Block style:
bool Function(char* psz, int n)
{
// Comment summarising what this section of code does
for (int i = 0; i < n; i++)
{
// When something fails, return early
if (!Something())
return false;
...
}
// Success return is usually at the end
return true;
}
- ANSI/Allman block style
- 4 space indenting, no tabs
- No extra spaces inside parenthesis; please don't do ( this )
- No space after function names, one space after if, for and while
Variable names begin with the type in lowercase, like nSomeVariable. Please don't put the first word of the variable name in lowercase like someVariable.
Common types:
n integer number: short, unsigned short, int, unsigned int, int64, uint64, sometimes char if used as a number
d double, float
f flag
hash uint256
p pointer or array, one p for each level of indirection
psz pointer to null terminated string
str string object
v vector or similar list objects
map map or multimap
set set or multiset
bn CBigNum
Locking/mutex usage notes
The code is multi-threaded, and uses mutexes and the LOCK/TRY_LOCK macros to protect data structures.
Deadlocks due to inconsistent lock ordering (thread 1 locks cs_main and then cs_wallet, while thread 2 locks them in the opposite order: result, deadlock as each waits for the other to release its lock) are a problem. Compile with -DDEBUG_LOCKORDER to get lock order inconsistencies reported in the debug.log file.
Re-architecting the core code so there are better-defined interfaces between the various components is a goal, with any necessary locking done by the components (e.g. see the self-contained CKeyStore class and its cs_KeyStore lock for example).
Threads
StartNode : Starts other threads.
ThreadGetMyExternalIP : Determines outside-the-firewall IP address, sends addr message to connected peers when it determines it.
ThreadSocketHandler : Sends/Receives data from peers on port 8537.
ThreadMessageHandler : Higher-level message handling (sending and receiving).
ThreadOpenConnections : Initiates new connections to peers.
ThreadTopUpKeyPool : replenishes the keystore's keypool.
ThreadCleanWalletPassphrase : re-locks an encrypted wallet after user has unlocked it for a period of time.
SendingDialogStartTransfer : used by pay-via-ip-address code (obsolete)
ThreadDelayedRepaint : repaint the gui
ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used in 500ms.
ThreadRPCServer : Remote procedure call handler, listens on port 8536 for connections and services them.
ThreadCheetahcoinMiner : Generates cheetahcoins
ThreadMapPort : Universal plug-and-play startup/shutdown
Shutdown : Does an orderly shutdown of everything
ExitTimeout : Windows-only, sleeps 5 seconds then exits application
doc / multiwallet-qt
Last Modified: '2021-01-15 22:24:42 -0500'
Multiwallet Qt Development and Integration Strategy
In order to support loading of multiple wallets in cheetahcoin-qt, a few changes in the UI architecture will be needed. Fortunately, only four of the files in the existing project are affected by this change.
Three new classes have been implemented in three new .h/.cpp file pairs, with much of the functionality that was previously implemented in the CheetahcoinGUI class moved over to these new classes.
The two existing files most affected, by far, are cheetahcoingui.h and cheetahcoingui.cpp, as the CheetahcoinGUI class will require some major retrofitting.
Only requiring some minor changes is cheetahcoin.cpp.
Finally, three new headers and source files will have to be added to cheetahcoin-qt.pro.
Changes to class CheetahcoinGUI
The principal change to the CheetahcoinGUI class concerns the QStackedWidget instance called centralWidget. This widget owns five page views: overviewPage, transactionsPage, addressBookPage, receiveCoinsPage, and sendCoinsPage.
A new class called WalletView inheriting from QStackedWidget has been written to handle all renderings and updates of these page views. In addition to owning these five page views, a WalletView also has a pointer to a WalletModel instance. This allows the construction of multiple WalletView objects, each rendering a distinct wallet.
A second class called WalletStack, also inheriting from QStackedWidget, has been written to handle switching focus between different loaded wallets. In its current implementation, as a QStackedWidget, only one wallet can be viewed at a time - but this can be changed later.
A third class called WalletFrame inheriting from QFrame has been written as a container for embedding all wallet-related controls into CheetahcoinGUI. At present it just contains a WalletStack instance and does little more than passing on messages from CheetahcoinGUI to the WalletStack, which in turn passes them to the individual WalletViews. It is a WalletFrame instance that takes the place of what used to be centralWidget in CheetahcoinGUI. The purpose of this class is to allow future refinements of the wallet controls with minimal need for further modifications to CheetahcoinGUI, thus greatly simplifying merges while reducing the risk of breaking top-level stuff.
Changes to cheetahcoin.cpp
cheetahcoin.cpp is the entry point into cheetahcoin-qt, and as such, will require some minor modifications to provide hooks for
multiple wallet support. Most importantly will be the way it instantiates WalletModels and passes them to the
singleton CheetahcoinGUI instance called window. Formerly, CheetahcoinGUI kept a pointer to a single instance of a WalletModel.
The initial change required is very simple: rather than calling window.setWalletModel(&walletModel);
we perform the
following two steps:
window.addWallet("~Default", &walletModel);
window.setCurrentWallet("~Default");
The string parameter is just an arbitrary name given to the default wallet. It's been prepended with a tilde to avoid name collisions in the future with additional wallets.
The shutdown call window.setWalletModel(0)
has also been removed. In its place is now:
window.removeAllWallets();
doc / release-notes
Last Modified: '2021-01-15 22:24:42 -0500'
(note: this is a temporary file, to be added-to by anybody, and deleted at release time)
0.8.6 changes
Default block size increase for miners (see https://gist.github.com/gavinandresen/7670433#086-accept-into-block)
Remove the all-outputs-must-be-greater-than-CENT-to-qualify-as-free rule for relaying (see https://gist.github.com/gavinandresen/7670433#086-relaying)
Lower maximum size for free transaction creation (see https://gist.github.com/gavinandresen/7670433#086-wallet)
OSX block chain database corruption fixes
- Update leveldb to 1.13
- Use fcntl with
F_FULLSYNC
instead of fsync on OSX - Use native Darwin memory barriers
- Replace use of mmap in leveldb for improved reliability (only on OSX)
Fix nodes forwarding transactions with empty vins and getting banned
Network code performance and robustness improvements
Additional debug.log logging for diagnosis of network problems, log timestamps by default
Fix Cheetahcoin-Qt startup crash when clicking dock icon on OSX
Fix memory leaks in CKey::SetCompactSignature() and Key::SignCompact()
Fix rare GUI crash on send
Various small GUI, documentation and build fixes
Warning
- There have been frequent reports of users running out of virtual memory on 32-bit systems during the initial sync. Hence it is recommended to use a 64-bit executable if possible. A 64-bit executable for Windows is planned for 0.9.
doc / release-process
Last Modified: '2021-01-15 22:24:42 -0500'
Release Process
- update translations (ping wumpus, Diapolo or tcatm on IRC)
- see https://github.com/cheetahcoin/cheetahcoin/blob/master/doc/translation_process.md#syncing-with-transifex
update (commit) version in sources
cheetahcoin-qt.pro
contrib/verifysfbinaries/verify.sh
doc/README*
share/setup.nsi
src/clientversion.h (change CLIENT_VERSION_IS_RELEASE to true)
tag version in git
git tag -a v0.8.0
write release notes. git shortlog helps a lot, for example:
git shortlog --no-merges v0.7.2..v0.8.0
perform gitian builds
From a directory containing the cheetahcoin source, gitian-builder and gitian.sigs
export SIGNER=(your gitian key, ie bluematt, sipa, etc)
export VERSION=0.8.0
pushd ./gitian-builder
Fetch and build inputs: (first time, or when dependency versions change)
mkdir -p inputs; cd inputs/
wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.6.tar.gz' -O miniupnpc-1.6.tar.gz
wget 'http://www.openssl.org/source/openssl-1.0.1c.tar.gz'
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
wget 'http://zlib.net/zlib-1.2.6.tar.gz'
wget 'ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.5.9.tar.gz'
wget 'http://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2'
wget 'http://downloads.sourceforge.net/project/boost/boost/1.50.0/boost_1_50_0.tar.bz2'
wget 'http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.3.tar.gz'
cd ..
./bin/gbuild ../cheetahcoin/contrib/gitian-descriptors/boost-win32.yml
mv build/out/boost-win32-1.50.0-gitian2.zip inputs/
./bin/gbuild ../cheetahcoin/contrib/gitian-descriptors/qt-win32.yml
mv build/out/qt-win32-4.8.3-gitian-r1.zip inputs/
./bin/gbuild ../cheetahcoin/contrib/gitian-descriptors/deps-win32.yml
mv build/out/cheetahcoin-deps-0.0.5.zip inputs/
Build cheetahcoind and cheetahcoin-qt on Linux32, Linux64, and Win32:
./bin/gbuild --commit cheetahcoin=v${VERSION} ../cheetahcoin/contrib/gitian-descriptors/gitian.yml
./bin/gsign --signer $SIGNER --release ${VERSION} --destination ../gitian.sigs/ ../cheetahcoin/contrib/gitian-descriptors/gitian.yml
pushd build/out
zip -r cheetahcoin-${VERSION}-linux-gitian.zip *
mv cheetahcoin-${VERSION}-linux-gitian.zip ../../../
popd
./bin/gbuild --commit cheetahcoin=v${VERSION} ../cheetahcoin/contrib/gitian-descriptors/gitian-win32.yml
./bin/gsign --signer $SIGNER --release ${VERSION}-win32 --destination ../gitian.sigs/ ../cheetahcoin/contrib/gitian-descriptors/gitian-win32.yml
pushd build/out
zip -r cheetahcoin-${VERSION}-win32-gitian.zip *
mv cheetahcoin-${VERSION}-win32-gitian.zip ../../../
popd
popd
Build output expected:
- linux 32-bit and 64-bit binaries + source (cheetahcoin-${VERSION}-linux-gitian.zip)
- windows 32-bit binary, installer + source (cheetahcoin-${VERSION}-win32-gitian.zip)
- Gitian signatures (in gitian.sigs/${VERSION}[-win32]/(your gitian key)/
repackage gitian builds for release as stand-alone zip/tar/installer exe
Linux .tar.gz:
unzip cheetahcoin-${VERSION}-linux-gitian.zip -d cheetahcoin-${VERSION}-linux
tar czvf cheetahcoin-${VERSION}-linux.tar.gz cheetahcoin-${VERSION}-linux
rm -rf cheetahcoin-${VERSION}-linux
Windows .zip and setup.exe:
unzip cheetahcoin-${VERSION}-win32-gitian.zip -d cheetahcoin-${VERSION}-win32
mv cheetahcoin-${VERSION}-win32/cheetahcoin-*-setup.exe .
zip -r cheetahcoin-${VERSION}-win32.zip cheetahcoin-${VERSION}-win32
rm -rf cheetahcoin-${VERSION}-win32
Perform Mac build:
OSX binaries are created by Gavin Andresen on a 32-bit, OSX 10.6 machine.
qmake RELEASE=1 USE_UPNP=1 USE_QRCODE=1 cheetahcoin-qt.pro
make
export QTDIR=/opt/local/share/qt4 # needed to find translations/qt_*.qm files
T=$(contrib/qt_translations.py $QTDIR/translations src/qt/locale)
python2.7 share/qt/clean_mac_info_plist.py
python2.7 contrib/macdeploy/macdeployqtplus Cheetahcoin-Qt.app -add-qt-tr $T -dmg -fancy contrib/macdeploy/fancy.plist
Build output expected: Cheetahcoin-Qt.dmg
Next steps:
Code-sign Windows -setup.exe (in a Windows virtual machine) and OSX Cheetahcoin-Qt.app (Note: only Gavin has the code-signing keys currently)
upload builds to SourceForge
create SHA256SUMS for builds, and PGP-sign it
update cheetahcoin.org version make sure all OS download links go to the right versions
update forum version
update wiki download links
update wiki changelog: https://en.cheetahcoin.it/wiki/Changelog
Commit your signature to gitian.sigs:
pushd gitian.sigs
git add ${VERSION}/${SIGNER}
git add ${VERSION}-win32/${SIGNER}
git commit -a
git push # Assuming you can push to the gitian.sigs tree
popd
After 3 or more people have gitian-built, repackage gitian-signed zips:
From a directory containing cheetahcoin source, gitian.sigs and gitian zips
export VERSION=0.5.1
mkdir cheetahcoin-${VERSION}-linux-gitian
pushd cheetahcoin-${VERSION}-linux-gitian
unzip ../cheetahcoin-${VERSION}-linux-gitian.zip
mkdir gitian
cp ../cheetahcoin/contrib/gitian-downloader/*.pgp ./gitian/
for signer in $(ls ../gitian.sigs/${VERSION}/); do
cp ../gitian.sigs/${VERSION}/${signer}/cheetahcoin-build.assert ./gitian/${signer}-build.assert
cp ../gitian.sigs/${VERSION}/${signer}/cheetahcoin-build.assert.sig ./gitian/${signer}-build.assert.sig
done
zip -r cheetahcoin-${VERSION}-linux-gitian.zip *
cp cheetahcoin-${VERSION}-linux-gitian.zip ../
popd
mkdir cheetahcoin-${VERSION}-win32-gitian
pushd cheetahcoin-${VERSION}-win32-gitian
unzip ../cheetahcoin-${VERSION}-win32-gitian.zip
mkdir gitian
cp ../cheetahcoin/contrib/gitian-downloader/*.pgp ./gitian/
for signer in $(ls ../gitian.sigs/${VERSION}-win32/); do
cp ../gitian.sigs/${VERSION}-win32/${signer}/cheetahcoin-build.assert ./gitian/${signer}-build.assert
cp ../gitian.sigs/${VERSION}-win32/${signer}/cheetahcoin-build.assert.sig ./gitian/${signer}-build.assert.sig
done
zip -r cheetahcoin-${VERSION}-win32-gitian.zip *
cp cheetahcoin-${VERSION}-win32-gitian.zip ../
popd
- Upload gitian zips to SourceForge
- Celebrate
doc / translation process
Last Modified: '2021-01-15 22:24:42 -0500'
Translations
The Qt GUI can be easily translated into other languages. Here's how we handle those translations.
Files and Folders
cheetahcoin-qt.pro
This file takes care of generating .qm
files from .ts
files. It is mostly
automated.
src/qt/cheetahcoin.qrc
This file must be updated whenever a new translation is added. Please note that
files must end with .qm
, not .ts
.
locale/cheetahcoin_en.qm
...
src/qt/locale/
This directory contains all translations. Filenames must adhere to this format:
cheetahcoin_xx_YY.ts or cheetahcoin_xx.ts
cheetahcoin_en.ts (Source file)
src/qt/locale/cheetahcoin_en.ts
is treated in a special way. It is used as the
source for all other translations. Whenever a string in the code is changed
this file must be updated to reflect those changes. This can be accomplished
by running lupdate
(included in the Qt SDK). Also, a custom script is used
to extract strings from the non-Qt parts. This script makes use of gettext
,
so make sure that utility is installed (ie, apt-get install gettext
on
Ubuntu/Debian):
python share/qt/extract_strings_qt.py
lupdate cheetahcoin-qt.pro -no-obsolete -locations relative -ts src/qt/locale/cheetahcoin_en.ts
Handling of plurals in the source file
When new plurals are added to the source file, it's important to do the following steps:
- Open cheetahcoin_en.ts in Qt Linguist (also included in the Qt SDK)
- Search for
%n
, which will take you to the parts in the translation that use plurals - Look for empty
English Translation (Singular)
andEnglish Translation (Plural)
fields - Add the appropriate strings for the singular and plural form of the base string
- Mark the item as done (via the green arrow symbol in the toolbar)
- Repeat from step 2. until all singular and plural forms are in the source file
- Save the source file
Creating the pull-request
An updated source file should be merged to github and Transifex will pick it up from there (can take some hours). Afterwards the new strings show up as "Remaining" in Transifex and can be translated.
To create the pull-request you have to do:
git add src/qt/cheetahcoinstrings.cpp src/qt/locale/cheetahcoin_en.ts
git commit
Syncing with Transifex
We are using https://transifex.com as a frontend for translating the client.
https://www.transifex.com/projects/p/cheetahcoin/resource/tx/
The "Transifex client" (see: http://help.transifex.com/features/client/) will help with fetching new translations from Transifex. Use the following config to be able to connect with the client:
.tx/config
[main]
host = https://www.transifex.com
[cheetahcoin.tx]
file_filter = src/qt/locale/cheetahcoin_.ts
source_file = src/qt/locale/cheetahcoin_en.ts
source_lang = en
.tx/config (for Windows)
[main]
host = https://www.transifex.com
[cheetahcoin.tx]
file_filter = src\qt\locale\cheetahcoin_.ts
source_file = src\qt\locale\cheetahcoin_en.ts
source_lang = en
It is also possible to directly download new translations one by one from the Transifex website.
Fetching new translations
tx pull -a
- update
src/qt/cheetahcoin.qrc
manually or vials src/qt/locale/*ts|xargs -n1 basename|sed 's/\(cheetahcoin_\(.*\)\).ts/
locale/\1.qm<\/file>/' git add
new translations fromsrc/qt/locale/
doc / unit-tests
Last Modified: '2021-01-15 22:24:42 -0500'
Compiling/running cheetahcoind unit tests
cheetahcoind unit tests are in the src/test/
directory; they
use the Boost::Test unit-testing framework.
To compile and run the tests:
cd src
make -f makefile.unix test_cheetahcoin # Replace makefile.unix if you're not on unix
./test_cheetahcoin # Runs the unit tests
If all tests succeed the last line of output will be:
*** No errors detected
To add more tests, add BOOST_AUTO_TEST_CASE
functions to the existing
.cpp files in the test/ directory or add new .cpp files that
implement new BOOST_AUTO_TEST_SUITE sections (the makefiles are
set up to add test/*.cpp to test_cheetahcoin automatically).
Compiling/running Cheetahcoin-Qt unit tests
Cheetahcoin-Qt unit tests are in the src/qt/test/ directory; they use the Qt unit-testing framework.
To compile and run the tests:
qmake cheetahcoin-qt.pro CHEETAHCOIN_QT_TEST=1
make
./cheetahcoin-qt_test
To add more tests, add them to the src/qt/test/
directory,
the src/qt/test/test_main.cpp
file, and cheetahcoin-qt.pro.
Android Termux App / CHTA-Termux
Last Modified: '2021-12-26 23:13:09 -0500'
1 | ## CHTA miner - Termux |
2 | Step 1. Download Termux from here: https://f-droid.org/en/packages/com.termux/ |
3 | |
4 | Step 2. Install Ubuntu 18.04 Bionic Beaver |
5 | Type: pkg update -y && pkg install wget curl proot tar -y && wget https://raw.githubusercontent.com/AndronixApp/AndronixOrigin/master/Installer/Ubuntu/ubuntu.sh -O ubuntu.sh && chmod +x ubuntu.sh && bash ubuntu.sh |
6 | Type: ./start-ubuntu.sh |
7 | |
8 | ## CHTA miner installation, follow all commands: |
9 | 1. apt update |
10 | 2. apt install wget ssh |
11 | |
12 | |
13 | ## Get this file |
14 | a. wget http://reflexhere.hi.ro/CHTATermux.zip |
15 | b. unzip CHTATermux.zip |
16 | c. cd CHTATermux |
17 | |
18 | 3. uname -a (or uname -m : to determine whether your phone is 64bit or 32bit. |
19 | 4. if your platform is arm32 type: chmod +x build_armhf.sh |
20 | 5. if your platform is arm64 type: chmod +x bulid_arm64.sh |
21 | 6. bash build_armhf.sh / bash build_arm64.sh |
22 | 7. cd armhf / arm64 |
23 | 8. cd cheetahcoin_v1.9.1.2_u16_armhf / cd cheetahcoin_v1.9.1.2_u16_arm64 |
24 | 9. ./cheetahcoind (create wallet folder & files) |
25 | 10. nano cheetahcoin.conf |
26 | 11. use the arrow keys to navigate to modify your rpc username and password |
27 | 12. CTRL+X+Y+ENTER to save file |
28 | |
29 | ## |
30 | |
31 | 13. cd .. |
32 | 14. cp -r cheetah_cpuminer cheetah_cpuminer_chta |
33 | 15. cd cheetah_cpuminer_chta |
34 | 16. git pull |
35 | 17. git checkout chta |
36 | 18. nano cheetahcoin.conf |
37 | 19. use the arrow keys to navigate to modify your rpc user> |
38 | 20. CTRL+X+Y+ENTER to save file |
39 | 21. cp cheetahcoin.conf ~/.cheetahcoin/ |
40 | |
41 | |
42 | ## After complete syncing your CHTA wallet you can start mining |
43 |
Android Termux App / README
Last Modified: '2021-12-26 23:13:09 -0500'
CHTA miner in Termux
Created by: "reflex⛏#8729" (Discord CHTA user)
Step by Step guide
File "CHTA-Termux.txt" contains step by step guide on how to install Cheetahcoin core wallet inside Termux app
Web guide on Cheetahcoin web page:
https://cheetahcoin.org/documentation/
click "Suplemental Documentation" -> "Android" -> "CHTA-miner in Termux"
Android Userland App / CHTA Android Mining Wallet Upgrade Guide without Putty
Last Modified: '2021-12-23 23:35:07 -0500'
1 | CHTA Android 64bit Wallet Upgrade Guide without Putty |
2 | 1. Open Userland App and select Debian |
3 | 2. Log in Debian |
4 | 3. cd Android_Userland_App/debian/arm64/ |
5 | 4. wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_arm64.tgz |
6 | 5. tar xvfz cheetahcoin_v1.9.1.2_u16_arm64.tgz |
7 | 6. rm -rf cheetahcoin_v1.8.0.2_u16_arm64 (remove previous cheetahcoin qt folder) |
8 | 7. rm cheetahcoin_v1.8.0.2_u16_arm64.tgz (remove previous cheetahcoin tgz file if exist) |
9 | 8. rm cheetahcoin_v1.9.1.2_u16_arm64.tgz (remove current coincoin tgz file) |
10 | |
11 | CHTA Android 32bit Wallet Upgrade Guide without Putty |
12 | 1. Open Userland App and select Debian |
13 | 2. Log in Debian |
14 | 3. cd Android_Userland_App/debian/armhf/ |
15 | 4. wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_armhf.tgz |
16 | 5. tar xvfz cheetahcoin_v1.9.1.2_u16_armhf.tgz |
17 | 6. rm -rf cheetahcoin_v1.8.0.2_u16_armhf (remove previous cheetahcoin qt folder) |
18 | 7. rm cheetahcoin_v1.8.0.2_u16_armhf.tgz (remove previous cheetahcoin tgz file if exist) |
19 | 8. rm cheetahcoin_v1.9.1.2_u16_armhf.tgz (remove current cheetahcoin tgz file) |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 |
Android Userland App / CHTA Android arm64 Mining Guide without Putty
Last Modified: '2021-12-23 23:35:07 -0500'
1 | CHTA Android Mining Guide without Putty |
2 | 1. Download Userland App from Google Playstore |
3 | 2. Open Userland App and select Debian |
4 | 3. Create a SSH account if you do not have |
5 | 4. Log in Debian |
6 | 5. Copy and paste all the Linux command lines to your whatsapp / chat app / email and save them to your notes on your mobile phone for easier copy and paste |
7 | 6. Enter command line |
8 | a. uname -a (or uname -m : to determine whether your phone is 64bit or 32bit. This guide is using arm64 / 64bit folder. For 32bit please install the files in armhf folder instead of arm64 folder) |
9 | b. sudo apt update |
10 | c. sudo apt install wget ssh |
11 | d. wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_android_userland_arm.tgz |
12 | e. tar xvfz cheetahcoin_v1.9.1.2_android_userland_arm.tgz |
13 | f. cd Android_Userland_App/debian/arm64/ |
14 | g. bash prepare_userland.sh |
15 | 7. Relogin Userland Debian |
16 | 8. Enter command line |
17 | a. cd Android_Userland_App/debian/arm64/ |
18 | b. bash prepare_neng.sh |
19 | c. wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_arm64.tgz |
20 | d. tar xvfz cheetahcoin_v1.9.1.2_u16_arm64.tgz |
21 | e. cd cheetahcoin_v1.9.1.2_u16_arm64/ |
22 | f. ./cheetahcoind (create wallet folder & files) |
23 | g. screen (creates another screen so you can check your wallet and mining at the same time using one ssh) |
24 | h. cd |
25 | i. cd Android_Userland_App/debian/arm64/ |
26 | j. cp -r cheetah_cpuminer cheetah_cpuminer_chta |
27 | k. cd cheetah_cpuminer_chta |
28 | l. git pull |
29 | m. git checkout chta |
30 | n. vi cheetahcoin.conf |
31 | o. Press i and use the arrow keys to navigate to modify your rpc username and password |
32 | p. Press Esc |
33 | q. :wq |
34 | r. cp cheetahcoin.conf ~/.cheetahcoin/ |
35 | s. Press Ctrl AD to go back to the main screen (Cheetah Wallet) |
36 | t. ./cheetahcoind (sync the wallet appx 48 hrs or more) |
37 | |
38 | u. top (rotate your mobile phone to the side so that you are able to see whether cheetahcoind is running) |
39 | v. ./cheetahcoind getmininginfo (compare the current block with https://umine.eu/explorer/CHTA |
40 | w. to ensure it has sync to the latest block before getting ready to perform mining) |
41 | x. ./cheetahcoind getbalance (check your coin balance in your wallet) |
42 | y. Ctrl+C (to exit top) |
43 | |
44 | After complete syncing your CHTA wallet |
45 | 1. Enter command line |
46 | a. screen -r (from CHTA wallet to Cheetah screen) |
47 | b. sh cheetah.sh (for standard mining) |
48 | c. python main.py --interval 10 --cpu 4 (for customized mining) |
49 | d. Press Ctrl C to stop |
50 | e. Press Ctrl AD to go back to the main screen (CHTA Wallet) |
51 | f. screen -r (Reattach the cheetah miner screen back) |
52 |
Android Userland App / CHTA Android armhf Mining Guide without Putty
Last Modified: '2021-12-23 23:35:07 -0500'
1 | CHTA Android Mining Guide without Putty |
2 | 1. Download Userland App from Google Playstore |
3 | 2. Open Userland App and select Debian |
4 | 3. Create a SSH account if you do not have |
5 | 4. Log in Debian |
6 | 5. Copy and paste all the Linux command lines to your whatsapp / chat app / email and save them to your notes on your mobile phone for easier copy and paste |
7 | 6. Enter command line |
8 | a. uname -a (or uname -m : to determine whether your phone is 64bit or 32bit. This guide is using armhf / 32bit folder. For 64bit please install the files in arm64 folder instead of armhf folder) |
9 | b. sudo apt update |
10 | c. sudo apt install wget ssh |
11 | d. wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_android_userland_arm.tgz |
12 | e. tar xvfz cheetahcoin_v1.9.1.2_android_userland_arm.tgz |
13 | f. cd Android_Userland_App/debian/armhf/ |
14 | g. bash prepare_userland.sh |
15 | 7. Relogin Userland Debian |
16 | 8. Enter command line |
17 | a. cd Android_Userland_App/debian/armhf/ |
18 | b. bash prepare_neng.sh |
19 | c. wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_armhf.tgz |
20 | d. tar xvfz cheetahcoin_v1.9.1.2_u16_armhf.tgz |
21 | e. cd cheetahcoin_v1.9.1.2_u16_armhf/ |
22 | f. ./cheetahcoind (create wallet folder & files) |
23 | g. screen (creates another screen so you can check your wallet and mining at the same time using one ssh) |
24 | h. cd |
25 | i. cd Android_Userland_App/debian/armhf/ |
26 | j. cp -r cheetah_cpuminer cheetah_cpuminer_chta |
27 | k. cd cheetah_cpuminer_chta |
28 | l. git pull |
29 | m. git checkout chta |
30 | n. vi cheetahcoin.conf |
31 | o. Press i and use the arrow keys to navigate to modify your rpc username and password |
32 | p. Press Esc |
33 | q. :wq |
34 | r. cp cheetahcoin.conf ~/.cheetahcoin/ |
35 | s. Press Ctrl AD to go back to the main screen (Cheetah Wallet) |
36 | t. ./cheetahcoind (sync the wallet appx 48 hrs or more) |
37 | |
38 | u. top (rotate your mobile phone to the side so that you are able to see whether cheetahcoind is running) |
39 | v. ./cheetahcoind getmininginfo (compare the current block with https://umine.eu/explorer/CHTA |
40 | w. to ensure it has sync to the latest block before getting ready to perform mining) |
41 | x. ./cheetahcoind getbalance (check your coin balance in your wallet) |
42 | y. Ctrl+C (to exit top) |
43 | |
44 | After complete syncing your CHTA wallet |
45 | 1. Enter command line |
46 | a. screen -r (from CHTA wallet to Cheetah screen) |
47 | b. sh cheetah.sh (for standard mining) |
48 | c. python main.py --interval 10 --cpu 4 (for customized mining) |
49 | d. Press Ctrl C to stop |
50 | e. Press Ctrl AD to go back to the main screen (CHTA Wallet) |
51 | f. screen -r (Reattach the cheetah miner screen back) |
52 |
Android Userland App / README
Last Modified: '2021-12-23 23:35:07 -0500'
Mobile Mining on Android phone arm64 or armhf with UserLand App
This folder describe how to CPU mine Cheetahcoin (CHTA) in android phone on 64 bits (arm64) or 32 bits (armhf) through UserLand app inside a linux terminal. UserLand app is an open-source app that can run linux inside your android phone.
- Minimum hardware requirement: 2G memory phone with 3G spare hard disk.
- Software Required: UserLand app from Google Play Store or F-Droid
Please read high level overview first from pdf report: https://github.com/ShorelineCrypto/NewEnglandCoin/releases/download/NENG_2020_Q3_report/NENG_2020_Q3_report.pdf
For CPU mining steps and optimization with cheetah_Cpuminer on "chta" branch web guide at https://github.com/ShorelineCrypto/cheetah_cpuminer/tree/chta
To obtain software, please perform below command lines:
git clone https://github.com/ShorelineCrypto/cheetah_cpuminer
git checkout chta
or download zip file: https://github.com/ShorelineCrypto/cheetah_cpuminer/releases/tag/chta-beta2
Confusion on android vs linux on CHTA v1.7.x release
There was some confusion created by android mining release v1.9.1. Please watch this youtube video from android authority Gary Sims:
Is Android really just Linux? - Gary explains https://www.youtube.com/watch?v=BkP6FTy0a4Y&t=307s
Not trying to create a flaming war. Understanding the relationship between android vs linux, then you will clearly know what we did on CHTA android CPU mining through UserLand app inside a linux terminal at almost native OS speed.
Determine your Platform is 64 bits arm64 or 32 bits armhf
In newest android phone or arm chromebook, we expect 64 bits arm64 (aarch64) should be the norm. In older android phone or chromebook such as Samsung Galaxy Tab S4 on Android 9, it may be armhf platform. In the rare cases, your phone or chromebook may have 64 bits CPU, but the linux runs on 32 bits armhf. You can first run below two commands to determine what is your linux architecture on linux terminal either in Debian or Ubuntu after SSH installation.
uname -a
sudo apt-get update
Above information from terminal should give you clear idea whether you have arm64 (aarch64) or armhf platform in linux.
Debian or Ubuntu?
UserLand app offers 4 linux distros (Alpine, Arch, Debian, Ubuntu). Currently for Cheetahcoin android mining, two distros are supported and tested: Debian (version 10 ) and Ubuntu (version 18.04). Due to issues that Userland app ubuntu install unsupported version 20.04, currently Debian is recommended for Userland app.
UserLand Debian runs Debian 10 (buster) on arm64/armhf. UserLand ubuntu runs Ubuntu 18.04 or 20.04 on arm64/armhf. The UserLand LXDE or XFCE desktop installation session uses Debian.
Either distro is fine with similar user experience. If you are interested in desktop offering, Debian is preferred. If you encounter hardware compatibility issues, Ubuntu 18.04 is preferred.
Ubuntu 18.04 Alternative to Fix Potential Hardware Issue
Arm hardware may have hardware compatibility issues. This situation is worse on 32 bits arm platform. You can suspect a hardware issue if you run into error like "error while loading shared libraries: libboost_system.so.1.58.0". Or CHTA wallet may run, but crash within 1 or 2 hours.
Here we provide a Ubuntu 18.04 CHTA wallet method where you can compile Boost library from source. With self-compiled boost library from source together with CHTA binary wallet file, the hardware compatibility issue should be fixed.
Linux Terminal (SSH) or Desktop (VNC or XSDL)?
For CHTA android mining purpose, we recommend using Linux terminal only through UserLand SSH login mode. Our experience on debian or ubuntu has been fabulous and smooth with easy setup for remote login from windows/Mac/Linux desktop on big screen.
In fact, we have tested XSDL/VNC in quad core android 8.0 on VNC or XSDL mode, and failed with crashes. We do not know the reason of crash errors like "Connection Failed" after hours of LXDE or XFCE installation. We also tested Arch SSH installation and failed to complete.
Android is optimized for mobile GUI on top of linux kernel. GNU or regular linux LXDE or XFCE desktop is mainly for desktop/laptop environment. Therefore we see limited value using LXDE/XFCE in android phones any way. If you want to learn or have fun experience for linux, we would recommend to install a copy of Linux OS inside "VirtualBox" in windows 10. Oracle VirtualBox is free virtual machine software that can install and run a second operating system in windows 10 without need of dual boot. With virutalBox setup for any one of 8 distros that we support for CHTA wallet, you can mine CHTA with cheetah_cpuminer easily in linux inside virtualbox of windows 10.
Putty or No Putty in windows 10?
Putty is windows 10 software to remote login into android UserLand linux at port 2022. Below main guide mainly use putty to login into android with big screen to type in those linux command line for installation. Alternatively, those command line can also be done without using putty.
Some members reported that putty does not work either because new android versions have security feature to block UserLand app port or routers block those ports. Member @Sefia at discord provided this word documents "CHTA_Android_arm64_Mining_Guide_without_Putty.txt" at current folder on how to do android mining without using putty.
FAQ - Linux Terminal Basic Keyboard
Typing command line in linux terminal inside UserLand is reasonably easy if you are familiar with linux command line on server or desktop. Here are android specific important points
TAB key on auto filling
See attached picture in this folder "tab.gif". Tab key in android is the character below "ESC". It is left/right arrow in one symbol. TAB key is powerful in linux command line. Typing full word of file or folder names are inconvenient.
Here is easier way with tab:
cd cheetahcoin_v1.9.1.2_u16_arm64
Typing above long word in android phone is close to impossible. An easier way to do is:
cd chee-finger push TAB key
After you push TAB afer word "chee" , the android UserLand linux terminal should behave like linux in server/desktop with the full file/folder name "cheetahcoin_v1.9.1.2_u16_arm64" auto populated for you.
Arrow up or down key for history
The arrow up or down key is useful key if you want to repeat a command in recent history. This is same as desktop/server linux terminal.
optional - "screen" command to run cheetah_cpuminer
"screen" is useful linux command for background running in linux, you can start screen session job in the phone and log out. When you re-login into phone, you can re-attach the screen session with a command. Useful keyboards commands to be remembered:
start a screen session: type "screen" command in linux terminal
detach screen: Ctrl-A-D
re-attach screen: type "screen -r" command
re-attach specfic screen session when multiple sessions are running (say 3145.pts-1.localhost session): screen -r 31
force re-attach if the screen session is open at another computer: screen -r 31 -d
Inside screen, run below in cheetah to mine CHTA, and detach screen session to leave it running in background:
screen
python main.py --interval 10 --cpu 6
CTRL-A-D
Now you can let the cheetah cpuminer running with the phone cord connected to charger. You can let it run overnight until you pick up the phone tomorrow for daily use.
optional - Load GUI QT wallet into windows/mac/linux Desktop Remotely
Running linux terminal-only does not mean that you can not load CHTA QT wallet with GUI remotely. If your home wifi speed is decent, you could try to load CHTA QT GUI wallet in windows 10, or MacOS or Linux Desktop PCs. - Windows 10 with VcXsrv. Download, install and run free software "VcXsrv". Check the screenshot2 of putty for enabling "Enable X11 forwarding" for the userland login setting. Save the login session with X11 enabled, start VcXsrv in windows, re-login into phone with putty and type below command lines: ``` hlu@localhost:~$ cd cheetahcoin_v1.9.1.2_u16_arm64 hlu@localhost:~/cheetahcoin_v1.9.1.2_u16_arm64$ ./cheetahcoin-qt &
Above command inside putty will pop the QT GUI wallet in windows 10 with VcXsrv running. Wait for a while for the QT wallet to fully show up in windows, and then you can control the wallet inside phone from windows 10.
- macOS with XQuartz. Download, install free software "XQuartz". Log out and re-login. Open up mac terminal:
```
$ ssh -XY hlu@192.168.1.98 -p 2022
-----login in phone----
hlu@localhost:~$ cd cheetahcoin_v1.9.1.2_u16_arm64
hlu@localhost:~/cheetahcoin_v1.9.1.2_u16_arm64$ ./cheetahcoin-qt &
Above in mac terminal will pop up android phone CHTA QT GUI wallet in macOS desktop.
- Linux Desktop, any distro in a terminal
honglu@MX $ ssh -XY hlu@192.168.1.98 -p 2022
-----login in phone----
hlu@localhost:~$ cd cheetahcoin_v1.9.1.2_u16_arm64
hlu@localhost:~/cheetahcoin_v1.9.1.2_u16_arm64$ ./cheetahcoin-qt &
Above in linux desktop terminal will pop android phone CHTA QT wallet in linux desktop remotely.
optional - Fix the phone IP address at home LAN
If you have a router at home environment with wifi connection to the phone for android mining, you will realize that the phone IP address is constantly changing for each time to come home with wifi connection. You should be able to get a fixed IP address through your router setup so that you do not need to find out IP address each time to try the ssh login.
Take NETGEAR router as example, after intranet admin login into web, say 192.168.1.1 as example, "ADVANCED" -> "WPS Wizard" -> "LAN Setup" -> "ADD", you can add a device mainly based on MAC address and assign that MAC address with an IP, say "192.168.1.98" in our case. Apply and restart the router. Now reconnect phone wifi, you will get a fixed IP address on the phone no matter what. To avoid conflict with other electronic devices at home, try to pick large IP number, say 98 last digits. Other router vendors may have different lay out of admin web menu setup, but should have similar feature of allowing you to assign a fixed LAN internal IP address for the phone based on MAC address.
arm64 / README
Last Modified: '2021-12-23 23:35:07 -0500'
Mobile Mining on Android 64 bits phone (arm64) with UserLand App
This folder describe how to CPU mine Cheetahcoin (CHTA) on 64 bits android phone (arm64).
Step 1: Install and setup UserLand app from Google Play Store
First install free "UserLand" app from google play store. After installation, click Distribution "Debian", pick a username, password, and VNC password (which could be same password). You will enter a linux terminal inside UserLand app, which runs arm64 version of Debian 10 (Buster).
Here we are recommending running through SSH (linux terminal) only, not VNC. For linux GUI, it is much better to run remotely through putty and you can display all linux GUI software in windows 10 with a few mouse clicks of free software download and installs. See optional item at bottom of the parent page.
Step 2: prepare UserLand
Type below commands in linux terminal inside Userland:
sudo apt update
sudo apt install wget ssh
hostname -I
Step 3: Remember IP of phone from above step, remote login from desktop computer
For windows 10 desktop machine, install a free software "PuTTY", login into phone with your username/password picked at port 2022
A screen shot of putty was provided.
For linux or MacOS, you can remote login with ssh from command line at port 2022. For example IP = 192.168.1.98 with user "hlu" like below
ssh hlu@192.168.1.98 -p 2022
Now you can run below commands from putty from windows 10 or ssh from MacOS or Linux
Step 4: Prepare UserLand app Linux Terminal
First login into UserLand app linux terminal remotely, you should find that common linux command like "top", "uptime" does not work. Please run below for workaround for those issues:
wget https://github.com/ShorelineCrypto/CheetahCoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_android_userland_arm.tgz
tar xvfz cheetahcoin_v1.9.1.2_android_userland_arm.tgz
cd Android_Userland_App/debian/arm64/
bash prepare_userland.sh
After completion of above, logout and re-login into UserLand linux terminal, you should be able to use "top", "uptime" etc command.
Step 5: Install library files, wallet and cheetah_cpuminer
Please run below shell script in Userland Debian for installing dependencies and library files:
bash prepare_neng.sh
The above step automatically download binary CHTA wallet file and cheetah_cpuminer in current folder.
Step 6: Optimize CPU mining with Cheetah_Cpuminer:
Run below to find cpu info and memory information:
more /proc/cpuinfo
top
For quad core phone, 8 cpu threads were found. You can now optimize Cheetah_Cpuminer parameter to perform android mining.
For more information on CPU mining with cheetah_Cpuminer, please checkout: https://github.com/ShorelineCrypto/cheetah_cpuminer
armhf / README
Last Modified: '2021-12-23 23:35:07 -0500'
Mobile Mining on Android 32 bits phone (armhf) with UserLand App
This folder describe how to CPU mine Cheetahcoin (CHTA) on 32 bits android phone (armhf).
Step 1: Install and setup UserLand app from Google Play Store
First install free "UserLand" app from google play store. After installation, click Distribution "Debian", pick a username, password, and VNC password (which could be same password). You will enter a linux terminal inside UserLand app, which runs armhf version of Debian 10 (Buster).
Here we are recommending running through SSH (linux terminal) only, not VNC. For linux GUI, it is much better to run remotely through putty and you can display all linux GUI software in windows 10 with a few mouse clicks of free software download and installs. See optional item at bottom of the parent page.
Step 2: prepare UserLand
Type below commands in linux terminal inside Userland:
sudo apt update
sudo apt install wget ssh
hostname -I
Step 3: Remember IP of phone from above step, remote login from desktop computer
For windows 10 desktop machine, install a free software "PuTTY", login into phone with your username/password picked at port 2022
A screen shot of putty was provided.
For linux or MacOS, you can remote login with ssh from command line at port 2022. For example IP = 192.168.1.98 with user "hlu" like below
ssh hlu@192.168.1.98 -p 2022
Now you can run below commands from putty from windows 10 or ssh from MacOS or Linux
Step 4: Prepare UserLand app Linux Terminal
First login into UserLand app linux terminal remotely, you should find that common linux command like "top", "uptime" does not work. Please run below for workaround for those issues:
wget https://github.com/ShorelineCrypto/CheetahCoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_android_userland_arm.tgz
tar xvfz cheetahcoin_v1.9.1.2_android_userland_arm.tgz
cd Android_Userland_App/debian/armhf/
bash prepare_userland.sh
After completion of above, logout and re-login into UserLand linux terminal, you should be able to use "top", "uptime" etc command.
Step 5: Install library files, wallet and cheetah_cpuminer
Please run below shell script in Userland Debian for installing dependencies and library files:
bash prepare_neng.sh
The above step automatically download binary CHTA wallet file and cheetah_cpuminer in current folder.
Step 6: Optimize CPU mining with Cheetah_Cpuminer:
Run below to find cpu info and memory information:
more /proc/cpuinfo
top
For quad core phone, 8 cpu threads were found. You can now optimize Cheetah_Cpuminer parameter to perform android mining.
For more information on CPU mining with cheetah_Cpuminer, please checkout: https://github.com/ShorelineCrypto/cheetah_cpuminer
arm64 / README
Last Modified: '2021-12-23 23:35:07 -0500'
Mobile Mining on Android 64 bits phone (arm64) with UserLand App
This folder describe how to CPU mine Cheetahcoin (CHTA) on 64 bits android phone (arm64).
Step 1: Install and setup UserLand app from Google Play Store
First install free "UserLand" app from google play store. After installation, click Distribution "Ubuntu", pick a username, password, and VNC password (which could be same password). You will enter a linux terminal inside UserLand app, which runs arm64 version of Ubuntu 18.04.
Here we are recommending running through SSH (linux terminal) only, not VNC. For linux GUI, it is much better to run remotely through putty and you can display all linux GUI software in windows 10 with a few mouse clicks of free software download and installs. See optional item at bottom of the parent page.
Step 2: prepare UserLand
Type below commands in linux terminal inside Userland:
sudo apt update
sudo apt install wget ssh
hostname -I
Step 3: Remember IP of phone from above step, remote login from desktop computer
For windows 10 desktop machine, install a free software "PuTTY", login into phone with your username/password picked at port 2022
A screen shot of putty was provided.
For linux or MacOS, you can remote login with ssh from command line at port 2022. For example IP = 192.168.1.98 with user "hlu" like below
ssh hlu@192.168.1.98 -p 2022
Now you can run below commands from putty from windows 10 or ssh from MacOS or Linux
Step 4: Prepare UserLand app Linux Terminal
First login into UserLand app linux terminal remotely, you should find that common linux command like "top", "uptime" does not work. Please run below for workaround for those issues:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_android_userland_arm.tgz
tar xvfz cheetahcoin_v1.9.1.2_android_userland_arm.tgz
cd Android_Userland_App/ubuntu/arm64/
bash prepare_userland.sh
After completion of above, logout and re-login into UserLand linux terminal, you should be able to use "top", "uptime" etc command.
Step 5: Install library files, wallet and cheetah_cpuminer
Please run below shell script in Userland Ubuntu for installing dependencies and library files:
bash prepare_neng.sh
The above step automatically download binary CHTA wallet file and cheetah_cpuminer in current folder.
Optional Step 6: compile boost 1.58 from source
The above should work for most of arm64 android phones/chromebook. However it may fail in rare phone/chromebook cases.
You can fix the hardware incompatible issue by removing binary boost1.58 and compile boost 1.58 library in the machine from source as replacement:
bash compile_boost1.58.sh
Step 7: Optimize CPU mining with Cheetah_Cpuminer:
Run below to find cpu info and memory information:
more /proc/cpuinfo
top
For quad core phone, 8 cpu threads were found. You can now optimize Cheetah_Cpuminer parameter to perform android mining.
For more information on CPU mining with cheetah_Cpuminer, please checkout: https://github.com/ShorelineCrypto/cheetah_cpuminer
armhf / README
Last Modified: '2021-12-23 23:35:07 -0500'
Mobile Mining on Android 32 bits phone (armhf) with UserLand App
This folder describe how to CPU mine Cheetahcoin (CHTA) on 32 bits android phone (armhf).
Step 1: Install and setup UserLand app from Google Play Store
First install free "UserLand" app from google play store. After installation, click Distribution "Ubuntu", pick a username, password, and VNC password (which could be same password). You will enter a linux terminal inside UserLand app, which runs armhf version of Ubuntu 18.04.
Here we are recommending running through SSH (linux terminal) only, not VNC. For linux GUI, it is much better to run remotely through putty and you can display all linux GUI software in windows 10 with a few mouse clicks of free software download and installs. See optional item at bottom of the parent page.
Step 2: prepare UserLand
Type below commands in linux terminal inside Userland:
sudo apt update
sudo apt install wget ssh
hostname -I
Step 3: Remember IP of phone from above step, remote login from desktop computer
For windows 10 desktop machine, install a free software "PuTTY", login into phone with your username/password picked at port 2022
A screen shot of putty was provided.
For linux or MacOS, you can remote login with ssh from command line at port 2022. For example IP = 192.168.1.98 with user "hlu" like below
ssh hlu@192.168.1.98 -p 2022
Now you can run below commands from putty from windows 10 or ssh from MacOS or Linux
Step 4: Prepare UserLand app Linux Terminal
First login into UserLand app linux terminal remotely, you should find that common linux command like "top", "uptime" does not work. Please run below for workaround for those issues:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_android_userland_arm.tgz
tar xvfz cheetahcoin_v1.9.1.2_android_userland_arm.tgz
cd Android_Userland_App/ubuntu/armhf/
bash prepare_userland.sh
After completion of above, logout and re-login into UserLand linux terminal, you should be able to use "top", "uptime" etc command.
Step 5: Install library files, wallet and cheetah_cpuminer
Please run below shell script in Userland Ubuntu for installing dependencies and library files:
bash prepare_neng.sh
The above step automatically download binary CHTA wallet file and cheetah_cpuminer in current folder.
Optional Step 6: compile boost 1.58 from source
The above should work for most of armhf android phones/chromebook. However it may fail in rare phone/chromebook cases.
You can fix the hardware incompatible issue by removing binary boost1.58 and compile boost 1.58 library in the machine from source as replacement:
bash compile_boost1.58.sh
Step 7: Optimize CPU mining with Cheetah_Cpuminer:
Run below to find cpu info and memory information:
more /proc/cpuinfo
top
For quad core phone, 8 cpu threads were found. You can now optimize Cheetah_Cpuminer parameter to perform android mining.
For more information on CPU mining with cheetah_Cpuminer, please checkout: https://github.com/ShorelineCrypto/cheetah_cpuminer
Arch / README
Last Modified: '2021-12-22 22:46:35 -0500'
Manjaro 21.0.7 / Arch Linux on x86_64
This folder describe a binary support from v1.9.1.1 CHTA core release on Manjaro 21.0.7 or Arch Linux .
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.0/cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
tar xvfz cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
arm / README
Last Modified: '2021-12-25 15:42:10 -0500'
Chrome OS on arm64 or armhf
This folder describe how to run a full node of Cheetahcoin (CHTA) and to CPU mine CHTA in arm based Chromebook as Linux App. Chrome OS on arm64 or armhf platform was tested. Any Chrome OS version v69 or later on 64 bits arm64 or 32 bits armhf with linux either in linux beta (Crostini) or Android UserLand app should all work.
Chrome OS v89 Linux (Beta) runs Debian 10 (Buster) in embedded linux in a container with close to full feature of linux for both CLI and GUI. Older version of Chrome OS run Debian 9 (Stretch). The below script and method was also tested on Debian 9 successfully and should all just work on Debian 9.
- Minimum hardware requirement: 2G memory chromebook with 3G additonal spare hard disk.
- Software Required: Linux (Beta) turned on in Chrome OS or Android UserLand App
For CPU mining steps and optimization with cheetah_Cpuminer on "chta" branch web guide at https://github.com/ShorelineCrypto/cheetah_cpuminer/tree/chta
To obtain software, please perform below command lines:
git clone https://github.com/ShorelineCrypto/cheetah_cpuminer
git checkout chta
or download zip file: https://github.com/ShorelineCrypto/cheetah_cpuminer/releases/tag/chta-beta2
For Android UserLand app setup on Debian/Ubuntu, please download and checkout Android Userland package. Below we mainly cover the method using Linux (beta) or Crostini method.
Turn on Linux Beta (Crostini)
Go to Chrome OS setting, turn on Linux (Beta). If your chromebook does not have this option, it is not supported here for CHTA CPU mining. However, your arm CPU based chromebook may still work on Android UserLand app method as alternative.
For disk size in Linux Beta, we recommend to add 3G on top of recommended 5G by Google. So pick custom disk 8G as minimum selection.
Start linux Terminal
You can pin linux "Terminal" at menu bar. Download this tgz file to chromebook, drag the file from "Downloads" to "Linux files" folder in chromebook. Inside terminal, this file will be at your home directory.
Determine your Platform is 64 bits arm64 or 32 bits armhf
In newest arm chromebook, we expect 64 bits arm64 should be the norm. In older chromebook such as chromebook or chromebit with only 2G memory, it may be armhf platform. In the rare cases, your chromebook may have 64 bits CPU, but the linux runs on 32 bits armhf. You can first run below two commands to determine what is your linux architecture
uname -a
sudo apt-get update
Above information from terminal should give you clear idea whether you have arm64 (aarch64) or armhf platform in linux.
By default, Linux (Beta) or Crostini runs a container for Debian 10. Below has been tested to be working in both Debian 10 and Debian 9. Run below commands to install all required files.
arm64
tar xvfz cheetahcoin_v1.9.1.3_chromeos_arm.tgz
cd Chromebook/arm/arm64/debian
bash prepare_neng.sh
armhf
tar xvfz cheetahcoin_v1.9.1.3_chromeos_arm.tgz
cd Chromebook/arm/armhf/debian
bash prepare_neng.sh
After successfully completing above commands, CHTA wallet file and Cheetah_Cpuminer will be downloaded at your current folder. You can move these files to whatever best location inside your "Linux files" folder by using either linux command line or Chromebook GUI drag and drop.
Ubuntu 18.04 Alternative to Fix Potential Hardware Issue
Arm hardware may have hardware compatibility issues. This situation is worse on 32 bits arm platform. You can suspect a hardware issue if you run into error like "error while loading shared libraries: libboost_system.so.1.58.0". Or CHTA wallet may run, but crash within 1 or 2 hours.
Here we provide a Ubuntu 18.04 CHTA wallet method where you can compile Boost library from source. With self-compiled boost library from source together with CHTA binary wallet file, the hardware compatibility issue should be fixed.
You can setup arm64/armhf penguin container using Ubuntu 18.04 to replace Debian 10 for Crostini. Or you can install ubuntu with Android Userland app from Google Play Store, then compile boost from source using README file as guideline there.
Linux Terminal CLI or Desktop GUI wallet for mining?
For CHTA cpu mining purpose, either CLI wallet or GUI QT wallet was tested working in Chromebook. You can run either of the software to run a full node and for the purpose of CPU mining.
run GUI QT wallet in Chromebook
arm64
hlu@penguin:~$ cd cheetahcoin_v1.9.1.2_u16_arm64
hlu@penguin:~/cheetahcoin_v1.9.1.2_u16_arm64$ ./cheetahcoin-qt &
armhf
hlu@penguin:~$ cd cheetahcoin_v1.9.1.2_u16_armhf
hlu@penguin:~/cheetahcoin_v1.9.1.2_u16_armhf$ ./cheetahcoin-qt &
Above in linux terminal will pop CHTA QT wallet in chromebook desktop.
Copy the conf file and restart wallet
QT wallet in penguin container may show no connections. Copy the conf file with below command:
hlu@penguin:~$ cp cheetahcoin.conf ~/.cheetahcoin/
Then restart the QT GUI wallet, CHTA should start to sync. Note fully synced wallet to latest block is required in order to CPU mine CHTA with Cheetah_Cpuminer
FAQ - Linux Terminal Basic Keyboard
Typing command line in linux terminal inside Chromebook is reasonably easy if you are familiar with linux command line on server or desktop.
TAB key on auto filling
TAB key is powerful in linux command line. Typing full word of file or folder names are inconvenient.
Here is easier way with tab:
cd cheetahcoin_v1.9.1.2_u16_arm64
Typing above long word in Chromebook is close to impossible. An easier way to do is:
cd cheetahc-finger push TAB key
After you push TAB afer word "cheetahc" , the chromebook linux terminal should behave like linux in server/desktop with the full file/folder name "cheetahcoin_v1.9.1.2_u16_arm64" auto populated for you.
Arrow up or down key for history
The arrow up or down key is useful key if you want to repeat a command in recent history. This is same as desktop/server linux terminal.
optional - "screen" command to run cheetah_cpuminer
"screen" is useful linux command for background running in linux, you can start screen session job in the Chromebook and detach. When you re-login into Chromebook, you can re-attach the screen session with a command. Useful keyboards commands to be remembered:
start a screen session: type "screen" command in linux terminal
detach screen: Ctrl-A-D
re-attach screen: type "screen -r" command
re-attach specfic screen session when multiple sessions are running (say 3145.pts-1.localhost session): screen -r 31
force re-attach if the screen session is open at another computer: screen -r 31 -d
Inside screen, run below in cheetah to mine CHTA, and detach screen session to leave it running in background:
screen
python main.py --interval 10 --cpu 6
CTRL-A-D
You can let it run overnight until you pick up the Chromebook tomorrow for daily use.
debian / README
Last Modified: '2021-12-25 15:42:10 -0500'
Debian 9 (stretch)/ 10 (buster) on arm64
This folder describe a binary support from v1.9.1.3 CHTA core release on Debian 9 (stretch) / 10 (buster).
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
# Download CHTA wallet and Enjoy!
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_arm64.tgz
tar xvfz cheetahcoin_v1.9.1.2_u16_arm64.tgz
ubuntu / README
Last Modified: '2021-12-25 15:42:10 -0500'
Ubuntu 18.04 on arm64
This folder describe a binary support from v1.9.1.3 CHTA core release on Ubuntu 18.04.
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_arm64.tgz
tar xvfz cheetahcoin_v1.9.1.2_u16_arm64.tgz
Optional Step 3: compile boost 1.58 from source
The above should work for most of arm64 android phones. However it may fail in arm64 desktop/server or for rare phone cases.
Below can fix the hardware incompatible issue by removing binary boost1.58 and compile boost 1.58 library in the machine from source as replacement:
bash compile_boost1.58.sh
Then you can re-run the Step 2 binary wallet files and it should all work now.
debian / README
Last Modified: '2021-12-25 15:42:10 -0500'
Debian 9 (stretch)/ 10 (buster) on armhf
This folder describe a binary support from v1.9.1.3 CHTA core release on Debian 9 (stretch) / 10 (buster).
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_armhf.tgz
tar xvfz cheetahcoin_v1.9.1.2_u16_armhf.tgz
ubuntu / README
Last Modified: '2021-12-25 15:42:10 -0500'
Ubuntu 18.04 on armhf
This folder describe a binary support from v1.9.1.3 CHTA core release on Ubuntu 18.04.
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_armhf.tgz
tar xvfz cheetahcoin_v1.9.1.2_u16_armhf.tgz
Optional Step 3: compile boost 1.58 from source
The above should work for most of armhf android phones/chromebook. However it may fail in armhf desktop/server or for rare phone/chromebook cases.
Below can fix the hardware incompatible issue by removing binary boost1.58 and compile boost 1.58 library in the machine from source as replacement:
bash compile_boost1.58.sh
Then you can re-run the Step 2 binary wallet files and it should all work now.
x64 / README
Last Modified: '2021-12-25 15:42:10 -0500'
Chrome OS on x86_64
This folder describe how to run a full node of Cheetahcoin (CHTA) and to CPU mine CHTA in Chromebook as Linux App. Chrome OS v85 on x64 platform was tested. Any Chrome OS version v69 or later on x64 CPU should all work.
Chrome OS v89 Linux (Beta) runs Debian 10 (Buster) in embedded linux in a container with close to full feature of linux for both CLI and GUI. Older version of Chrome OS run Debian 9 (Stretch). The below script and method was also tested on Debian 9 successfully and should all just work on Debian 9.
- Minimum hardware requirement: 2G memory chromebook with 3G additonal spare hard disk.
- Software Required: Linux (Beta) turned on in Chrome OS
For CPU mining steps and optimization with cheetah_Cpuminer on "chta" branch web guide at https://github.com/ShorelineCrypto/cheetah_cpuminer/tree/chta
To obtain software, please perform below command lines:
git clone https://github.com/ShorelineCrypto/cheetah_cpuminer
git checkout chta
or download zip file: https://github.com/ShorelineCrypto/cheetah_cpuminer/releases/tag/chta-beta2
Turn on Linux Beta (Crostini)
Go to Chrome OS setting, turn on Linux (Beta). If your chromebook does not have this option, it is not supported here for CHTA CPU mining.
For disk size in Linux Beta, we recommend to add 3G on top of recommended 5G by Google. So pick custom disk 8G as minimum selection.
Start linux Terminal
You can pin linux "Terminal" at menu bar. Download this tgz file to chromebook, drag the file from "Downloads" to "Linux files" folder in chromebook. Inside terminal, this file will be at your home directory.
By default, Linux (Beta) or Crostini runs a container for Debian 10. Below has been tested to be working in both Debian 10 and Debian 9. Run below commands to install all required files:
tar xvfz cheetahcoin_v1.9.1.3_chromeos_x64.tgz
cd Chromebook/x64/debian
bash prepare_neng.sh
After successfully completing above commands, CHTA wallet file and Cheetah_Cpuminer will be downloaded at your current folder. You can move these files to whatever best location inside your "Linux files" folder by using either linux command line or Chromebook GUI drag and drop.
Crostini Ubuntu 18.04 Alternative
Ubuntu has better hardware and gaming support on x64 platform in linux. You can setup x64 penguin container using Ubuntu 18.04 to replace Debian 10 for Crostini. In case you runs a Ubuntu 18.04 container in Linux (Beta), ubuntu 18.04 installation scripts folder is also provided with README file.
Linux Terminal CLI or Desktop GUI wallet for mining?
For CHTA cpu mining purpose, either CLI wallet or GUI QT wallet was tested working in Chromebook. You can run either of the software to run a full node and for the purpose of CPU mining.
run GUI QT wallet in Chromebook
``` hlu@penguin:~$ cd cheetahcoin_v1.9.1.0_ubuntu16.04 hlu@penguin:~/cheetahcoin_v1.9.1.0_ubuntu16.04$ ./cheetahcoin-qt &
Above in linux terminal will pop CHTA QT wallet in chromebook desktop.
## Copy the conf file and restart wallet
QT wallet in penguin container may show no connections. Copy the conf file with below command:
hlu@penguin:~$ cp cheetahcoin.conf ~/.cheetahcoin/
Then restart the QT GUI wallet, CHTA should start to sync. Note fully synced to latest block is required in order to CPU mining CHTA with Cheetah_Cpuminer
## FAQ - Linux Terminal Basic Keyboard
Typing command line in linux terminal inside Chromebook is reasonably easy if you are familiar with linux command line on server or desktop.
#### TAB key on auto filling
TAB key is powerful in linux command line. Typing full word of file or folder names are inconvenient.
Here is easier way with tab:
cd cheetahcoin_v1.9.1.0_ubuntu16.04
Typing above long word in Chromebook is close to impossible. An easier way to do is:
cd cheetahc-finger push TAB key
After you push TAB afer word "cheetahc" , the chromebook linux terminal should behave like linux in server/desktop with the full file/folder name "cheetahcoin_v1.9.1.0_ubuntu16.04" auto populated for you.
#### Arrow up or down key for history
The arrow up or down key is useful key if you want to repeat a command in recent history. This is same as desktop/server linux terminal.
## optional - "screen" command to run cheetah_cpuminer
"screen" is useful linux command for background running in linux, you can start screen session job in the Chromebook and detach.
When you re-login into Chromebook, you can re-attach the screen session with a command. Useful keyboards commands to be remembered:
#### start a screen session: type "screen" command in linux terminal
#### detach screen: Ctrl-A-D
#### re-attach screen: type "screen -r" command
#### re-attach specfic screen session when multiple sessions are running (say 3145.pts-1.localhost session): screen -r 31
#### force re-attach if the screen session is open at another computer: screen -r 31 -d
Inside screen, run below in cheetah to mine CHTA, and detach screen session to leave it running in background:
screen
python main.py --interval 10 --cpu 6
CTRL-A-D
```
You can let it run overnight until you pick up the Chromebook tomorrow for daily use.
ubuntu / README
Last Modified: '2021-12-25 15:42:10 -0500'
Ubuntu 18.04 on x86_64
This folder describe a binary support from v1.9.1.1 CHTA core release on Ubuntu 18.04.
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.0/cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
tar xvfz cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
arm64 / README
Last Modified: '2021-12-26 22:01:19 -0500'
Debian 9 (stretch)/ 10 (buster) on arm64
This folder describe a binary support from v1.9.1.3 CHTA core release on Debian 9 (stretch) / 10 (buster).
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
# Download CHTA wallet and Enjoy!
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_arm64.tgz
tar xvfz cheetahcoin_v1.9.1.2_u16_arm64.tgz
armhf / README
Last Modified: '2021-12-26 22:01:19 -0500'
Debian 9 (stretch)/ 10 (buster) on armhf
This folder describe a binary support from v1.9.1.3 CHTA core release on Debian 9 (stretch) / 10 (buster).
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_armhf.tgz
tar xvfz cheetahcoin_v1.9.1.2_u16_armhf.tgz
x64 / README
Last Modified: '2021-12-22 23:09:36 -0500'
MX Linux 19.4 / Debian 10 (buster) on x86_64
This folder describe a binary support from v1.9.1.1 CHTA core release on MX Linux 19.4 and Debian 9 (stretch) / 10 (buster).
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.0/cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
tar xvfz cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
Fedora 35 / README
Last Modified: '2021-12-25 15:33:43 -0500'
Fedora 34 Workstation on x86_64
This folder describe a binary support from v1.9.1.1 CHTA core release on Fedora 35 Workstation.
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.0/cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
tar xvfz cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
MacOS install / README
Last Modified: '2021-12-22 17:10:56 -0500'
Supported - macOS 10.11 El Capitan to 10.15 Catalina
For full guide of building own wallet from source, please follow steps at: https://github.com/ShorelineCrypto/CheetahCoin/blob/master/doc/build-osx.md
Here below we describe an easier way to install macOS binary wallet on CHTA v1.9.1.0, which was built from source in Mojave. The below method was tested to be working on 10.11 , 10.14 and 10.15.
Step 1: Install xcode
In all mac versions, type below in terminal to install Xcode command line tools:
xcode-select --install
In older version of OSX such as 10.11, above one command may not be enough. Open up browser such as firefox, register for an apple developer account and search web and download Xcode version 7.3.1. Install dmg file into Application of your Mac. In below compiling steps in brew, there might be warning that Xcode 7.3.1 is outdated, please upgrade to Xcode 8.x.x , ignore that.
Step 2: Install HomeBrew
Follow brew Installation Guide: https://brew.sh/
Step 3: Install Required Library Dependencies using Homebrew, download wallet files
Open up terminal, type
brew update
brew install wget
bash prepare_darwin.sh
Sometimes Mojave will have header errors because of updates, like below:
upnpc.c:8:10: fatal error: 'stdio.h' file not found
#include
^~~~~~~~~
1 error generated.
make: *** [upnpc.o] Error 1
Fix the errors by running:
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
rerun "prepare_darwin.sh" should fix the issue.
CLI and GUI wallet files are downloaded in "Downloads" folder
Step 4: Switch openssl/miniupnpc to older version
Brew now installed newer and imcompatible versions. Older version of libraries are enabled as default in order to run CHTA.
bash enable_neng.sh
In Catalina, the openssl library linking method changed dramatically on system level so that enable or not may not have any effect on system. Enable or not, CHTA GUI and CLI wallet was tested to be working in MacOS Catalina.
Step 5: Install macOs QT wallet and cli wallet
With typical mac method, drag and drop to install GUI dmg software to application or any other folder. Unzip the CLI software and install it at your preferred location.
For first time CHTA user only to create data folder. If you have never ran CHTA wallet before, click QT wallet file first, run for a 1 minute, then shut down the wallet.
Copy the conf file to your Cheetahcoin data directory by running below at terminal:
cp cheetahcoin.conf ~/Library/'Application Support'/Cheetahcoin/
Step 6 optional: Restore system on openssl/miniupnpc
When you are running CHTA already or after running, you may need to restore system (newer) versions on openssl/miniupnpc to allow softwares such as wget etc to work.
bash restore_system.sh
Raspberry Pi 4 / README
Last Modified: '2021-04-01 16:39:46 -0400'
CHTA and NENG install on a Raspberry Pi 4 Install Instructions
Most computer/phone miners are dual mining two coins Nengcoin (NENG) and Cheetahcoin (CHTA) on the same phone/computer for getting double reward.
This folder describe how to CPU mine Nengcoin (NENG) / Cheetahcoin (CHTA) in Raspberry Pi 4. The guide in file "pi4_setup.txt" was tested and provided by discord member @Stormbringer_Derv
send2wallet.sh script from @Stormbringer_Derv
Stormbringer_Derv — 3/31/2021 at 5:00 PM Thought this might be a useful script for people, works on Pi and Userland should work on any Linux build really.
Its a send2wallet script.... Put the absolute path to your *coind wallets in Put your reserve wallet addresses in
Then you simply ./send2wallet.sh and it goes, makes handling many miners much easier! send2wallet script - send the balance of your miner to your reserve wallet
Raspberry Pi 4 / pi4 setup
Last Modified: '2021-12-26 22:09:44 -0500'
1 | ===CHTA and NENG install on a Raspberry Pi 4 Install Instructions 2021-03-19=== |
2 | |
3 | >Note these instructions are just for the RasPi4 running 64bit Raspberry OS Lite |
4 | >(https://downloads.raspberrypi.org/raspios_lite_arm64/) |
5 | |
6 | ===On a PC=== |
7 | > Win32DiskImager or similar and transfer the *.img raspberry os lite to sd |
8 | > On SD create file called SSH (not extenion) using File Explorer make a text file and delete the .txt, you may need to go to Folder Options and show file extensions. |
9 | > Create a wpa_supplicant.conf file (if you want to connect to wifi) - see how to on https://www.raspberrypi.org/documentation/configuration/wireless/headless.md |
10 | > Otherwise connect an ethernet cable |
11 | >Nb check https://github.com/ShorelineCrypto/cheetahcoin/releases & https://github.com/ShorelineCrypto/nengcoin/releases for latest Linux on arm address/releases, as of this it was v1.9.1.4, if newer use latest for armhf or arm64 as needed. |
12 | |
13 | ===Via SSH e.g Putty=== |
14 | |
15 | > Putty Open, connect to raspberry pi IP address (check your router), default port 22, default user: pi default pass: raspberry |
16 | > sudo raspi-config - change your default password & change hostname if you wish |
17 | > reboot & reconnect, login with user pi & new password |
18 | |
19 | > sudo apt update |
20 | > sudo apt upgrade |
21 | > sudo apt install screen |
22 | > cat /proc/cpuinfo - check number cpu's etc |
23 | |
24 | CHTA Wallet & Cheeta CHTA Miner(arm64/arch64) |
25 | |
26 | > wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.4/cheetahcoin_v1.9.1.4_debian10_arm64.tgz |
27 | > tar xvzf cheetahcoin_v1.9.1.4_debian10_arm64.tgz |
28 | > cd Debian_10/arm64/ |
29 | > bash prepare_neng.sh |
30 | > wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_arm64.tgz |
31 | > tar xvfz cheetahcoin_v1.9.1.2_u16_arm64.tgz |
32 | > cd cheetahcoin_v1.9.1.2_u16_arm64/ |
33 | > ./cheetahcoind (this creates a wallet) |
34 | > screen |
35 | > cd .. |
36 | > cp -r cheetah_cpuminer cheetah_cpuminer_chta |
37 | > cd cheetah_cpuminer_chta |
38 | > git pull |
39 | > git checkout chta |
40 | > vi cheetahcoin.conf (press i, change as needed, followed by ESC) |
41 | > :wq |
42 | > cp cheetahcoin.conf ~/.cheetahcoin/ |
43 | > press ctrl + a + d |
44 | > ./cheetahcoind (start wallet) |
45 | > ./cheetahcoind getmininginfo (check up too most recent full block e.g. https://cfpool.eu/explorer/CHTA) |
46 | |
47 | When at the latest block start mining by |
48 | > screen -r |
49 | > sh cheetah.sh |
50 | > press ctrl+a+d |
51 | |
52 | Good luck (below 2 lines useful) |
53 | ./Debian_10/arm64/cheetahcoin_v1.9.1.2_u16_arm64/cheetahcoind getmininginfo |
54 | ./Debian_10/arm64/cheetahcoin_v1.9.1.2_u16_arm64/cheetahcoind getbalance |
55 | |
56 | |
57 | NENG Wallet & Cheeta NENG Miner (arm64/arch64) |
58 | |
59 | Please checkout Nengcoin github below for detailed installation guide: |
60 | https://github.com/ShorelineCrypto/nengcoin/tree/master/doc/Raspberry_Pi_4 |
61 | |
62 |
arm64 / README
Last Modified: '2021-12-26 22:04:34 -0500'
Ubuntu 16.04 on arm64
This folder describe a binary support from v1.9.1.4 CHTA core release on Ubuntu 16.04.
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_arm64.tgz
tar xvfz cheetahcoin_v1.9.1.2_u16_arm64.tgz
armhf / README
Last Modified: '2021-12-26 22:04:34 -0500'
Ubuntu 16.04 on armhf
This folder describe a binary support from v1.9.1.4 CHTA core release on Ubuntu 16.04.
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_armhf.tgz
tar xvfz cheetahcoin_v1.9.1.2_u16_armhf.tgz
x86 64 / README
Last Modified: '2021-12-23 03:18:04 -0500'
Ubuntu 16.04 on x86_64
This folder describe a binary support from v1.9.1.1 CHTA core release on Ubuntu 16.04.
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.0/cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
tar xvfz cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
arm64 / README
Last Modified: '2021-12-26 22:04:34 -0500'
Ubuntu 18.04 on arm64
This folder describe a binary support from v1.9.1.3 CHTA core release on Ubuntu 18.04.
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_arm64.tgz
tar xvfz cheetahcoin_v1.9.1.2_u16_arm64.tgz
Optional Step 3: compile boost 1.58 from source
The above should work for most of arm64 android phones. However it may fail in arm64 desktop/server or for rare phone cases.
Below can fix the hardware incompatible issue by removing binary boost1.58 and compile boost 1.58 library in the machine from source as replacement:
bash compile_boost1.58.sh
Then you can re-run the Step 2 binary wallet files and it should all work now.
armhf / README
Last Modified: '2021-12-26 22:04:34 -0500'
Ubuntu 18.04 on armhf
This folder describe a binary support from v1.9.1.3 CHTA core release on Ubuntu 18.04.
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_u16_armhf.tgz
tar xvfz cheetahcoin_v1.9.1.2_u16_armhf.tgz
Optional Step 3: compile boost 1.58 from source
The above should work for most of armhf android phones/chromebook. However it may fail in armhf desktop/server or for rare phone/chromebook cases.
Below can fix the hardware incompatible issue by removing binary boost1.58 and compile boost 1.58 library in the machine from source as replacement:
bash compile_boost1.58.sh
Then you can re-run the Step 2 binary wallet files and it should all work now.
x86 64 / README
Last Modified: '2021-12-23 03:18:04 -0500'
Ubuntu 18.04 on x86_64
This folder describe a binary support from v1.9.1.1 CHTA core release on Ubuntu 18.04.
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.0/cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
tar xvfz cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
Ubuntu 20.04 / Cheetahcoin Linux Ubuntu 20.04 Installation Guide
Last Modified: '2021-12-23 00:26:46 -0500'
1 | Cheetahcoin (CHTA) Linux Ubuntu 20.04 Installation Guide |
2 | 1. Download & save the right version of the wallet here : https://github.com/ShorelineCrypto/cheetahcoin/releases/tag/v1.9.1.1 |
3 | 2. Navigate to the Download folder and extract the downloaded file to Home folder |
4 | 3. Navigate to the newly extracted folder and open README.md file |
5 | 4. Follow the instructions from the README.md file to install Cheetahcoin wallet using CLI commands |
6 | a. Open Terminal |
7 | b. Navigate to the newly extracted folder |
8 | c. Type bash prepare_neng.sh |
9 | d. Type wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.0/cheetahcoin_v1.9.1.0_ubuntu16.04.tgz |
10 | e. Type tar xvfz cheetahcoin_v1.9.1.0_ubuntu16.04.tgz |
11 | f. Navigate to the newly installed wallet folder |
12 | |
13 | h. You can stay at the same folder or navigate to any folder to install Cheetah Miner for CHTA |
14 | i. Type git clone https://github.com/ShorelineCrypto/cheetah_cpuminer |
15 | j. Type cd cheetah_cpuminer |
16 | k. Type git pull |
17 | l. Type git checkout chta |
18 | |
19 | 6. Copy the conf file to ~/.cheetahcoin folder |
20 | 7. Go back to Terminal |
21 | 8. Navigate to the wallet folder |
22 | 9. Type ./cheetahcoind (to run the wallet and get it sync before mining) |
23 | |
24 |
Ubuntu 20.04 / README
Last Modified: '2021-12-23 23:42:21 -0500'
Ubuntu 20.04 / Linux Mint 20.1 on x86_64
This folder describe a binary support from v1.9.1.1 CHTA core release for Ubuntu 20.04 and Linux Mint 20.2 on AMD64 platform
Step 1: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 2: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.0/cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
tar xvfz cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
Win install / README
Last Modified: '2021-02-24 23:13:19 -0500'
1 | |
2 | Installation Guide of Cheetahcoin (CHTA) windows 10 Wallet for Mining |
3 | |
4 | Step 1: For first time CHTA user only to create data folder |
5 | If you have never ran CHTA wallet before, double click QT wallet file first, run for a 1 minute, then shut down the wallet. |
6 | |
7 | Step 2: Copy 'cheetahcoin.conf' to your path 'C:\Users\YourUser\AppData\Roaming\Cheetahcoin' |
8 | |
9 | |
10 | Step 3: Restart GUI wallet or CLI wallet. The conf file contains a lot of live nodes ip addresses that will help your wallet to sync. |
11 | Note for CPU/GPU/USB ASIC solo miners: your wallet needs to be fully synced to latest block before you can solo mine CHTA. |
12 | |
13 | |
14 | Installation Guide of Cheetahcoin windows 10 Wallet for Reserve Wallet |
15 | |
16 | Mining wallet can go bad quickly. It is recommended to transfer your mined coin to reserve wallet for backup daily. |
17 | The reserve wallet shall have no mining. Put password and backup the reserve wallet regularly. |
18 | Every month or two when the mining wallet goes bad, empty it, then delete the wallet file to start a fresh wallet. |
19 | |
20 | To setup a reserve wallet, below are the steps |
21 | |
22 | Step 1: copy the data folder from 'C:\Users\YourUser\AppData\Roaming\Cheetahcoin' to 'C:\Users\YourUser\AppData\Roaming\Cheetahcoin2'. |
23 | Delete the "wallet.dat" in the Cheetahcoin2 folder so that you get a new wallet file. |
24 | Step 2: Modify the batch script "reserve_chta.bat" with your proper username in windows10 |
25 | Step 3: double click "reserve_chta.bat". You should have second reserve QT wallet running in windows10 |
android fullnode GNUroot arm / README
Last Modified: '2021-01-15 22:24:42 -0500'
Mobile Full Node on Android 32 bits phone (armel or armhf) with GNUroot App
Warning: depreciated, Cheetahcoin v1.5.x no longer support GNUroot App Warning: alpha release, suitable for expert linux developers only
This folder describes how to set up full node of Cheetahcoin (CHTA) on 32 bits android phone on arm CPUs.
Minimum Hardware requirement: 1G memory in 32 bits arm phone with 3G spare hard disk
This full node on old android phone can be used for android CPU mining or as solo server for futurebit moonlander2 ASIC USB stick for two nodes rotation setup on base difficulty reset day.
Please read high level overview first from pdf report: https://github.com/ShorelineCrypto/CheetahCoin/releases/download/CHTA_2020_Q3_report/CHTA_2020_Q3_report.pdf
From Desktop Linux in Virtualbox
Step 1: Intall a Linux desktop server with bridged IPs to allow ssh remote login
As described in the pdf report, a desktop linux server (or equivalent mac or windows ssh server) is required for ssh remote login into the phone. The phone terminal is small and difficult to type in linux command. Virtualbox installation of Ubuntu 20.04 or 18.04 with bridged networking setup will work. In this desktop linux terminal, run below commands:
sudo apt-get update
sudo apt-get install ssh openssh-server
hostname -I
Remember your above IPs. In home environment, 192.168.* or 10.* are common IPs to be used by router. In our example below 192.168.1.103 is the router assigned IPs for this linux server.
From Android phone
Step 2: Install and setup GNUroot app from Google Play Store
First install free "GNUroot" and "GNUroot Wheezy" app from google play store into phone. After both are working in phone, Create New Rootfs on Wheezy, Launch Rootfs on Wheezy . You will enter a linux terminal inside GNUroot app, which runs either armel or armhf version of Debian 7 (wheezy). Note what version of arm you are running when you apt-get software below. We will upgrade this version to Debian 8 (jessie) below.
Step 3: Upgrade Debian to Jessie
Download the shell scripts and copy them to the linux server to be easily copied over to phone below. Run below inside linux terminal of GNUroot app in phone:
cd /etc/apt
sed -i 's/ftp/archive/g' sources.list
apt-get update
apt-get autoremove
apt-get upgrade
apt-get install ssh
scp hlu@192.168.1.103:~/sources.list /etc/apt/
apt-get update
you may encounter error above, re-type in the commands in phone to make sure the upgrade to debian jessie is completed.
step 4, correct permission for tmp log
assign proper permisison including Sticky bit on tmp
chmod 1777 /tmp
chmod a+trwx /var/tmp
chmod -R a+rx /var
chmod -R a+rwx /var/log
chmod -R 777 /var/run
step 5, setup proper ssh networking
Prepare to use another port 2222 for ssh. The GNUroot does not allow any port below 1024 for external ssh login
apt-get install ssh wget curl
ssh-keygen
cp -r /root/.ssh /home/
passwd
ssh-copy-id hlu@192.168.1.103
scp hlu@192.168.1.103:~/sshd_config .
mv sshd_config /etc/ssh/
Step 6: set up ssh tunnel to the desktop linux server
Type below commands in linux terminal of phone:
scp hlu@192.168.1.103:~/prepare_ssh.sh .
bash prepare_ssh.sh
From Linux Desktop in Virtualbox
Step 7: remote login from desktop linux through ssh tunnel
You have changed the root password to a new password above, and fix any error above steps. Now move to the linux server (IP=192.168.1.103 as example) terminal:
ssh root@localhost -p 2222
You should now be able to login into android phone with above command.
Step 8: Install locales
locales is missing in GNUroot debian which cause unstable OS. Please run below to install locales for regular US english keyboard:
apt-get install locales
export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure locales
Step 9: install some tools, prepare CHTA required library
screen is useful tools to run in background. busybox top or uptime is better tool for than the default ones. "busybox top" can see CHTA mining command and android processes.
Check out UserLand guide which provide simple commands for screen.
apt-get update
apt-get install screen
apt-get install fakeroot
apt-get install busybox
nohup bash prepare_neng.sh
nohup.out file will record all the errors in the compiling installing process. Run below to find and fix all errors: "grep -i error nohup.out" "grep -i fail nohup.out".
From Desktop Linux in Virtualbox
Step 10: Compile CHTA wallet in QEMU
The armel/armhf CHTA binary from our download is unlikely to work well if your phone hardware is different. Explained in pdf report, you should compile Berkley DB libary above successfully, but likely to fail on CHTA core compilation. Extract and copy DB library files into QEMU and compile CHTA core wallet following cloud boot from below guide:
debian armel, upgrade wheezy to jessie in QEMU: https://people.debian.org/~aurel32/qemu/armel/
debian armhf, upgrade wheezy to jessie in QEMU: https://people.debian.org/~aurel32/qemu/armhf/
After successfully compiling the CHTA wallet files, copy the files into the android phone for use.
From Android Phone
Step 11: Install Cheetah_Cpuminer:
git clone https://github.com/ShorelineCrypto/cheetah_cpuminer.git
sudo pip install python-bitcoinrpc
more /proc/cpuinfo
"lowmemory_neng.sh" script file is used to reduce memory usage when the phone is on cheetah cpu mining. This script also print log file into screen so that you can watch what is going on. CHTA full node can run in one screen session, the cheetah runs in another screen session.
optional - solo server for futurebit moonlander2 ASIC USB
It appears that the full node running in old android can serve better as solo server for USB ASIC that needs two full nodes to rotate around. Example config file and solo server script are provided for this usage.
openSUSE / README
Last Modified: '2021-12-23 03:15:19 -0500'
openSUSE Tumbleweed on x86_64
This folder describe a binary support from v1.9.1.1 CHTA core release on openSUSE Tumbleweed 20200724.
Step 1: Install development tools through YaST
Open YaST / Software / Software Management - Select the View Button on the top left and pick Patterns. Now, you will see several Patterns listed and you want to select:
Development
[X] Base Development
[X] Linux Kernel Development
[X] C/C++ Development
Then Press the Accept button on the bottom right and allow these applications to install.
Step 2: Install repository needed for QT4
Open YaST / Software Repositories Click "Add", Check "Community Repositores", You will find a list, check and select "Packman Repository", OK and add this in
Step 3: Install library files
Please run below shell script in terminal for installing dependencies and library files:
bash prepare_neng.sh
Step 4: download the binary wallet and enjoy:
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.0/cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
tar xvfz cheetahcoin_v1.9.1.0_ubuntu16.04.tgz
/ README
Last Modified: '2021-12-26 09:30:06 -0600'
Introduction
Supplemental Cheetacoin Documentation
Creator : space__monkey or dr.mr.spacemonkey
Description : This repository Supplemental-CHTA-Documentation is intended as a collection of guides, instructions, and tips & tricks created by, updated, and maintained by members of the Cheetahcoin community with the goal of providing and expanding existing instructionals on how to prepare operating systems and environments for the use of the Cheetahcoin Crypto blockchain and wallet.
Structure
The formatting and structure of the repository, its directories, and its constituient files is intended to be straight forward and readily apparent (but please bare with us as we develop consistency and flesh out patterns).
Directories and folders are intended to represent categories and sub-catogories for areas and topics of discussion and documentation.
Files and their contents represent the instructions specific to the File's name and location within the directory structure.
At this time, only plain text files (.txt) in UTF-8 encoding and markdown files (.md) adhereing to markdownguide.org syntax and formatting is supported.
Pull requests that do not adhere to these simple standards will be rejected
Example: Intended structure and organization
Supplemental-CHTA-Documentation
|-> README.md
|__ /Android
|-> FAQs.txt
|__ /Termux
|-> CHTA-Miner_in_Termux.md
|-> Dos_and_Donts.txt
|__ / UserLAnd_App
|-> ARM64.md
|-> ARMHF.md
|__ /Debian
|__ /macOS
|__ /etc...
Termux / CHTA-Miner in Termux
Last Modified: '2021-12-25 12:34:25 -0600'
CHTA miner in Termux:
Created by: "reflex⛏#8729" (Discord CHTA user)
Install Ubuntu 18.04 Bionic Beaver
pkg update -y && pkg install wget curl proot tar -y && wget https://raw.githubusercontent.com/AndronixApp/AndronixOrigin/master/Installer/Ubuntu/ubuntu.sh -O ubuntu.sh && chmod +x ubuntu.sh && bash ubuntu.sh
./start-ubuntu.sh
apt update && apt install wget ssh
wget https://github.com/ShorelineCrypto/cheetahcoin/releases/download/v1.9.1.2/cheetahcoin_v1.9.1.2_android_userland_arm.tgz && tar xvfz cheetahcoin_v1.9.1.2_android_userland_arm.tgz && cd Android_Userland_App/ubuntu/armhf/
Then delete all (sudo) words from prepare_userland.sh and prepare_neng.sh using nano editor: nano prepare_userland.sh
Then run these 2 files one by one, same for arch64.
Don't forget to change rpc user and pass for wallet and miner and ready to go, then move cheetahcoin.conf
cp cheetahcoin.conf ~/.cheetahcoin/