# Welcome > This documentation was partially generated with AI augmentation. Report inconsistencies at github.com/warthog-network/docs/issues. - [Welcome](https://docs.warthog.network/readme.md): Welcome - [Links](https://docs.warthog.network/links.md): Algorithm whitepaper ## Guides - [Browser Wallet Integration](https://docs.warthog.network/guides/browser-wallet-integration.md): This guide explains how to integrate your dApp with the Warthog Browser Wallet extension. - [GCC from Source](https://docs.warthog.network/guides/gcc-from-source.md): In case your system packages provide a GCC version that is too old (< version 11) you can install a more modern GCC version from source. This guide is for Linux. ### Node - [Using a Node](https://docs.warthog.network/guides/node/node.md): Warthog's node is the program that talks to other nodes on the peer-to-peer network. Once started, the node synchronises the blockchain from peers and keeps up with new blocks which are mined roughly every 20s. - [DeFi Testnet](https://docs.warthog.network/guides/node/defi-testnet.md): The defi branch introduces new DeFi functionality to Warthog — including native token creation, a decentralized exchange (DEX) with limit orders, and liquidity pools. - [Compiling from Source](https://docs.warthog.network/guides/node/compiling.md): Compiling Warthog from source is an alternative to using precompiled binaries. If your compiler is too old you can follow this guide on how to install gcc from source. - [Systemd](https://docs.warthog.network/guides/node/systemd.md): NOTE: This is only supported in Linux distros that use systemctl (Debian, Ubuntu, Mint etc.). - [Docker](https://docs.warthog.network/guides/node/docker.md): For example, you can add this type of arguments to run a node with stratum enabled ### Mining #### Quick Start - [Quick Start](https://docs.warthog.network/guides/mining/quickstart.md): This guide contains all needed information to start mining Warthog, on your own node (solo) or on pool. - [Quick Start (French)](https://docs.warthog.network/guides/mining/quickstart/quickstart_fr.md): Ce guide contient toutes les infos nécessaires pour vous lancer immédiatement dans le minage de Warthog, en pool ou en solo. - [Calculator](https://docs.warthog.network/guides/mining/calculator.md): A Mining calculator will help you to estimate your mining profitability, depending on your mining hardware. - [OpenCL Installation](https://docs.warthog.network/guides/mining/installing-opencl.md): To mine on your GPUs you need to install GPU drivers with OpenCL support. ### Public Data - [Public Data](https://docs.warthog.network/guides/public-data/index.md): The public-data repository hosts public data for the Warthog community. This data is exported to API endpoints on data.warthog.network. - [Adding an Address Tag](https://docs.warthog.network/guides/public-data/addresses.md): Address tags help identify known WART addresses such as exchange wallets, pool payouts, and donation addresses. - [Registering Asset Metadata](https://docs.warthog.network/guides/public-data/assets.md): Warthog stores asset metadata in a database on the same VPS that hosts the asset-metadata backend — not in a GitHub repository. This keeps submission free - [Submitting Hashrates](https://docs.warthog.network/guides/public-data/hashrates.md): Hashrate data helps miners estimate their expected Janushash performance when choosing GPU and CPU configurations. - [Adding a Public Node](https://docs.warthog.network/guides/public-data/nodes.md): Running a public node helps the Warthog network by providing infrastructure for users who cannot run their own node. ### Wallet - [Browser Extension Wallet](https://docs.warthog.network/guides/wallet/browser-extension-wallet.md): Download here. - [CLI](https://docs.warthog.network/guides/wallet/cli.md): Note: The CLI wallet described here was previously shipped with the master branch of the node. The current defi branch ships a TUI wallet (core/defi/src/tui_wallet) instead. - [Wart Dapp](https://docs.warthog.network/guides/wallet/wart-dapp.md): Wart-dapp is a third-party desktop wallet at https://github.com/warthog-network/wart-dapp. The project also provides first-party wallets: Wartlock (desktop, Electron), browser-wallet (browser extension, in development), and mobile-wallet (React Native, in development). - [Brand & Assets](https://docs.warthog.network/guides/brand.md): Official logos and design guidelines for Warthog branding purposes can be found in the brand-kit repository. ## Developers ### API - [API](https://docs.warthog.network/developers/api/api.md): This documentation was partially generated with AI augmentation. Report inconsistencies at github.com/warthog-network/docs/issues. #### REST - [REST API](https://docs.warthog.network/developers/api/rest.md): This documentation was partially generated with AI augmentation. Report inconsistencies at github.com/warthog-network/docs/issues. - [Transactions](https://docs.warthog.network/developers/api/rest/transactions.md): Warthog supports the following transactions, some of which are signed and can have a processed property: - [Create Transaction](https://docs.warthog.network/developers/api/rest/create-transaction.md): This documentation was partially generated with AI augmentation. Report inconsistencies at github.com/warthog-network/docs/issues. - [Mempool transactions](https://docs.warthog.network/developers/api/rest/mempool-transactions.md) - [WebSocket API](https://docs.warthog.network/developers/api/websocket.md): AI-Augmented Documentation — This file was updated to match the live node API schema (v0.10.16). All examples reflect the schema structure. Report discrepancies to the maintainers. ### Integration #### Pools - [Pool Integration](https://docs.warthog.network/developers/integration/pools/pools.md): I have written a C++ backend which support computes the hash product - [Stratum Protocol](https://docs.warthog.network/developers/integration/pools/stratum.md): Messages are newline (\n) terminated json strings sent over plain TCP with optional TLS encryption. URI scheme is stratum+tcp for plain TCP and stratum+ssl - [Miner Integration](https://docs.warthog.network/developers/integration/miners.md): Warthog's Janushash algorithm requires a custom condition on two hashes (SHA256t and Verushash v2.2) to be satisfied for valid blocks. Condition to solve a - [Wallet Integration](https://docs.warthog.network/developers/integration/wallets.md): In this guide we demonstrate how to handle wallets and send transactions in Python 3, NodeJS and Elixir. Note that we also provide SDKs. ### SDKs - [SDKs](https://docs.warthog.network/developers/sdks.md): We provide official SDKs that simplify interaction with the Warthog ecosystem. All three target the testnet (core/defi) API and implement the full set of 7 - [Warthog SDK for Elixir](https://docs.warthog.network/developers/sdks/elixir.md): Warthog provides an SDK for the Elixir/Erlang ecosystem called warthog_ex intended for interaction with the Warthog ecosystem. - [Warthog SDK for Python](https://docs.warthog.network/developers/sdks/python.md): Warthog provides a warthog_py library for the Python ecosystem (Django, FastAPI, requests, etc.). It is the Python port of the TypeScript warthog-ts library and supports the full set of 7 DeFi transaction types. - [Warthog SDK for TypeScript](https://docs.warthog.network/developers/sdks/typescript.md): Warthog provides an easy-to-use SDK for TypeScript called warthog-ts intended for interacting with the Warthog ecosystem. ## Unique features ### Janushash - [Janushash](https://docs.warthog.network/unique-features/janushash/janushash.md): Compared to classical Proof of Work, the class of Proof of Balanced Work (PoBW) algorithms is quite a different beast. Instead of only employing one hash function they combine multiple hash functions in a multiplicative way. - [Hashes as Numbers](https://docs.warthog.network/unique-features/janushash/interpreting-hashes-as-numbers.md): Each hash (32 byte hex string) can be interpreted as a number in the interval [0,1). - [Condition](https://docs.warthog.network/unique-features/janushash/condition-to-solve-a-block.md): For target \tau\in[0,1] we define the following two conditions a header h must satisfy to have a valid Proof of Balanced Work: - [Mining](https://docs.warthog.network/unique-features/janushash/mining.md): Optimally mining janushash exhausts both, a system's CPU and GPU to their limits. GPU is more efficient at Sha256t computations while CPU is more efficient at Verushash v2.2. #### Mathematical Analsysis - [Preliminaries](https://docs.warthog.network/unique-features/janushash/analysis/preliminaries.md): A proper hash function should be random in the sense that each output bit cannot be predicted from the input and also cannot be predicted from other bits in its output. - [Mining Probability](https://docs.warthog.network/unique-features/janushash/analysis/mining-probability.md): Recall that a block is rejected if the Sha256t hash of its header is too small, i.e. if Y< c. Furthermore, the smaller Y the easier it is to satisfy the second condition XY^{0.7}< \tau because larger, and therefore easier-to-mine Verushash v2.2 hashes are accepted. - [Janusscore - a combined hashrate equivalent](https://docs.warthog.network/unique-features/janushash/analysis/janusscore.md): We define the Janusscore S(\mathfrak{h}_X,\mathfrak{h}_Y) for Verushash v2.2 hashrate \mathfrak{h}_X and Sha256t hashrate \mathfrak{h}_Y by - [Hashrate Ratio](https://docs.warthog.network/unique-features/janushash/analysis/hashrate-ratio.md): The hashrate ratio is the quotient a of Sha256t hashrate \mathfrak{h}_Y and Verushash v2.2 \mathfrak{h}_X: - [Janushash made simple](https://docs.warthog.network/unique-features/janushash/highlevel.md): The theory behind Warthog's Proof of Balanced Work and specifically the Janushash algorithm is dry and difficult to grasp. In this post we want to give a high-level understanding on how things work. ### Browser nodes - [Browser Nodes](https://docs.warthog.network/unique-features/browser-nodes/introduction.md): Browser nodes feature is techincally almost completely implemented but has lower priority for completion than the DeFi progress. This feature is not complete yet. - [Warthog WebRTC Communication Protocol](https://docs.warthog.network/unique-features/browser-nodes/webrtc-protocol.md): Note: Browser nodes (including WebRTC support) are on the roadmap but currently on hold. DeFi features have top priority. This document describes the WebRTC protocol design that will be implemented when browser nodes are resumed. ### Features - [Features](https://docs.warthog.network/unique-features/features/overview.md): Warthog is a cryptocurrency built from scratch around a handful of decisions that set it apart from every other project in the space. The categories below are the same as on warthog.network under "What makes us unique", with the longer, deeper-dive versions of each. ### Hard-Coded DeFi - [Hard-Coded DeFi](https://docs.warthog.network/unique-features/hard-coded-defi/hard-coded-defi.md): Warthog implements a novel approach to Decentralized Finance (DeFi) by hard-coding the underlying logic directly into the node instead of relying on smart contract implementations. - [Fair Batch Matching](https://docs.warthog.network/unique-features/hard-coded-defi/fair-batch-matching.md): Warthog takes an innovative approach to DeFi in the sense that a hybrid setting of two liquidity sources (pool and order book) is considered and addressed mathematically optimally.