WARTHOG REFERENCE IMPLEMENTATION Copyright (c) 2023 - 2024 Pumbaa, Timon & Rafiki
Warthog is an experimental innovative cryptocurrency (a fresh rewrite, no fork!!), which tries to push the boundaries of what is possible in the crypto-industry. As a small team of volunteers and crypto enthusiasts we are creatively developing Warthog with major features the world has not seen before:
-
Thread-based sync model: Unlike traditional cryptocurrencies where blocks are identified and downloaded by their hash we have implemented a thread-based approach. Technically, a block chain with possible forks is a tree, and by implementing a branch-aware sync algorithm, we can address blocks by height and branch. This shrinks byte size of communication messages and also improves latency for distributing new blocks which is one of the reasons why sync time in Warthog is faster than in other cryptocurrencies. Furthermore nodes are aware of the sync state of peers. To the best of our knowledge Warthog is the first cryptocurrency to implement this approach.
-
Crypto Research Proof of Balanced Work (by CoinFuMasterShifu): Proof of Balanced Work (PoBW) is a novel technique invented by CoinFuMasterShifu to combine different hash functions in a balanced way. For efficient mining, one cannot ignore any of the combined algorithms, all must be mined and their hashrates determine the combined hashrate. There is a scientific research paper on general PoBW here: https://raw.githubusercontent.com/CoinFuMasterShifu/ProofOfBalancedWork/main/PoBW.pdf
-
Janushash PoBW mining algorithm: Warthog's Janushash mining algorithm combines two algorithms, namely Sha256t and Verushash v2.1 (will soon switch to v2.2). Efficient mining this combination requires a GPU and a CPU. This implies that mainly APUs are used for mining while existing GPU farms or CPU farms are out of the game. The implication of this cannot be overestimated as this brings mining in Warthog closer to Satoshi's original dream "One computer, one vote" than any other cryptocurrency: Firstly, APUs are pretty cheap and widely available such that everyone can participate in mining and secondly, no CPU botnet, nor any GPU farm will suddenly appear and disrupt prices or diminish people's mining revenue.
-
Browser-based nodes (by CoinFuMasterShifu), work in progress: Warthog is the first cryptocurrency with nodes that can run entirely in the browser. This is a big achievement since it lowers the boundary of setting up a node as low as opening a website, which is even possible on smartphones, and it also improves decentralization as these are full nodes. Warthog achieves this by using bleeding edge technology (WASM FS using OPFS supported by recent browsers and SQLite's recently added support to work with OPFS).
-
WebRTC communication between browser nodes: WebRTC is a technology which allows direct communication between browsers after connection is established with the help of a server. We aim to set up several official nodes which assist in establishing direct peer to peer WebRTC connections to other nodes which then can themselves assist in establishing additional WebRTC connections without using the official nodes' help. This will allow for a smartphone peer-to-peer network of full nodes within the browser contributing to decentralization and network resilience.
-
Asset support and hard-coded DeFi: Warthog will support a tailored DeFi implementation which allows to create and place assets. Direct custom tailored hard-coded DeFi implementation has several advantages over indirect smart contract based approaches: Firstly, the attack surface is much lower (DeFi platforms based on smart contracts are often hacked with funds being stolen) and secondly, the whole database architecture can be designed such that transactions will be more space-efficient and better native support for assets and orders can be offered which lowers adoption barrier and might allow for more convenience features to list all owned assets directly using node API. Furthermore new features like crowd-funding new assets with fair proportional distribution, creating new assets with balance distribution copied from other assets, paying dividends to all holders of some assets are possible when using tailored hard-coded design. Finally, end users will benefit from clear standardization of native DeFi support as a first-class-citizen since obscure and unfair practices (like increase of supply and additional toke-specific fees for trading) as used by most scam or pump-and-dump projects will not be possible.
We are a cryptocurrency for the community where everyone can revive again the good old days when crypto was fun. Therefore we have decided to be free of ๐ฉbullshit:
- ๐ No Premine
- ๐ค No Team/Dev fund
- ๐ 100% of supply is publicly mineable
The block chain has the following characteristics:
- 1๏ธโฃ Coin unit: 1 WART
- โฒ Block time: 20s
- ๐ฐ Initial block reward: 3 WART
- ๐งฎ Precision: 0.00000001 WART (8 digits)
- ๐ช Halving: ~ every 2 years
- ๐ Supply hard cap : 18921599.68464 (~19m) WART
This is new software. Almost everything was implemented from scratch. There may be bugs. Use at your own risk.
Discord | Telegram | Bitcointalk | ๐ Website
- P2P on Discord
- Exbitron exchange
- Xeggex exchange
- TradeOgre exchange
- Caldera OTC bot
- Reference node implementation of the Warthog Network
- Command line wallet software
- GPU/CPU Miner for JanusHash here
- GUI wallet here
Prebuilt binaries of the node daemon and cli wallet for Linux and Windows can be downloaded here. They are staticlly linked and will just work without external dependencies.
Prebuilt binaries of the miner for Linux and HiveOS can be downloaded here
To compile from source see below or here for a more detailed guide.
- Linux
- gcc11 or newer
- meson
- ninja
- Install gcc, meson, ninja: apt install meson ninja-build build-essential
- Clone the repo:
git clone https://github.com/ByPumbaa/Warthog
- cd into the repo:
cd Warthog
- Create build directory:
meson build .
(meson build . --buildtype=release
for better performance) - cd into build directory:
cd build
- Compile using ninja:
ninja
- Linux
- Docker
- Run
DOCKER_BUILDKIT=1 docker build . -f dockerfiles/build_linux --output build
in the repo directory.
- Run
DOCKER_BUILDKIT=1 docker build . -f dockerfiles/build_windows --output ./build/windows
in the repo. - Windows binaries are located in
./build/windows
directory.
- Run
DOCKER_BUILDKIT=1 docker build . -f dockerfiles/build_macos --output ./build/macos
in the repo. - MacOS binaries are located in
./build/macos
directory.
- Run the node (use some restarter in case it crashes)
One line example to run the node:screen -dmS wart_node bash -c "while true; do ./wart-node-linux ; done"
Usescreen -r wart_node
to see its output and CTRL+A+D to detach from the screen session.
Note: You should run node with--rpc=0.0.0.0:3000
to accept remote connections from your other rigs. - Run the miner (miner requires node running). More detailed information how to set up and run the miner you can find here.
- Optional: Run the wallet to send funds (wallet requires node running)
- Good luck and have fun! Use --help the option.
NOTE: This is a highly experimental project not backed by any institution or foundation. It relies on the work of voluntaries who have no obligation to do work for the project. People can join and leave any time at their will.
- API Reference
- Wallet Integration Guide
- Pool Integration Guide
- Miner Integration Guide
- Janushash algorithm. First Proof of Balanced Work mining algorithm in the world.