Convert Figma logo to code with AI

haveno-dex logohaveno

Decentralized P2P exchange platform built on Monero and Tor

1,063
121
1,063
133

Top Related Projects

8,943

Monero: the secure, private, untraceable cryptocurrency

4,758

A decentralized bitcoin exchange network

Quick Overview

Haveno is a decentralized exchange (DEX) project that aims to provide a private and secure platform for trading Monero (XMR) and other cryptocurrencies. It is built on top of the Bisq framework and focuses on enhancing privacy and usability for Monero users.

Pros

  • Strong focus on privacy and security for cryptocurrency trading
  • Decentralized architecture, reducing the risk of single points of failure
  • Built on the established Bisq framework, leveraging its proven technology
  • Supports Monero (XMR) as a base currency, filling a gap in the DEX ecosystem

Cons

  • Still in development, not yet ready for production use
  • Limited cryptocurrency support compared to centralized exchanges
  • May have lower liquidity compared to established centralized exchanges
  • Potential learning curve for users unfamiliar with decentralized exchanges

Getting Started

As Haveno is still in development, there isn't a stable release available for end-users. However, developers interested in contributing to the project can follow these steps:

  1. Clone the repository:

    git clone https://github.com/haveno-dex/haveno.git
    
  2. Install dependencies (ensure you have Java 11+ and Gradle installed):

    cd haveno
    ./gradlew build
    
  3. Run the application:

    ./gradlew run
    

For more detailed information on setting up the development environment and contributing to the project, refer to the CONTRIBUTING.md file in the repository.

Competitor Comparisons

8,943

Monero: the secure, private, untraceable cryptocurrency

Pros of Monero

  • Larger and more established project with a longer history
  • More comprehensive codebase covering the entire Monero cryptocurrency
  • Wider adoption and larger community support

Cons of Monero

  • More complex codebase, potentially harder for new contributors
  • Focused solely on Monero cryptocurrency, less flexible for other use cases
  • Requires more resources to run a full node

Code Comparison

Monero (C++):

bool Blockchain::add_new_block(const block& bl, block_verification_context& bvc)
{
  LOG_PRINT_L3("Blockchain::" << __func__);
  crypto::hash id = get_block_hash(bl);
  CRITICAL_REGION_LOCAL(m_blockchain_lock);
  // ...
}

Haveno (Java):

public void onAddressConfirmed(Address address) {
    if (address != null && !address.getAddressString().isEmpty()) {
        String addressAsString = address.getAddressString();
        addressTextField.setText(addressAsString);
        // ...
    }
}

The code snippets show different languages and focuses. Monero deals with blockchain operations, while Haveno handles user interface elements for a decentralized exchange. Monero's codebase is more low-level and focused on cryptocurrency operations, whereas Haveno's code is higher-level and oriented towards user interactions in a trading platform.

4,758

A decentralized bitcoin exchange network

Pros of Bisq

  • More established project with a larger user base and longer track record
  • Supports a wider range of cryptocurrencies and fiat currencies
  • Has a more extensive documentation and user guides

Cons of Bisq

  • Uses Bitcoin as the base currency, which can lead to higher fees and slower transactions
  • Requires a security deposit in Bitcoin, which may be a barrier for some users
  • Less focus on privacy compared to Haveno's Monero-based approach

Code Comparison

Bisq (Java):

public final class OfferPayload implements NetworkPayload {
    private final String id;
    private final long date;
    private final String ownerNodeAddress;
    // ...
}

Haveno (Kotlin):

data class OfferInfo(
    val id: String,
    val createdAt: Long,
    val ownerAddress: String,
    // ...
)

Both projects use similar structures for representing offers, but Haveno's use of Kotlin allows for more concise code with data classes. Bisq's Java implementation is more verbose but may be more familiar to some developers. Haveno's codebase is generally more modern and makes use of newer language features and patterns.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Haveno logo

GitHub Workflow Status GitHub issues with bounty Twitter Follow Matrix rooms Contributor Covenant

What is Haveno?

Haveno (pronounced ha‧ve‧no) is an open source platform to exchange Monero for fiat currencies like USD, EUR, and GBP or other cryptocurrencies like BTC, ETH, and BCH.

Main features:

  • Communications are routed through Tor, to preserve your privacy.

  • Trades are peer-to-peer: trades on Haveno happen between people only, there is no central authority.

  • Trades are non-custodial: Haveno supports arbitration in case something goes wrong during the trade, but arbitrators never have access to your funds.

  • There is No token, because it's not needed. Transactions between traders are secured by non-custodial multisignature transactions on the Monero network.

See the FAQ on our website for more information.

Installing Haveno

Haveno can be installed on Linux, macOS, and Windows by using a third party installer and network.

[!note] The official Haveno repository does not support making real trades directly.

To make real trades with Haveno, first find a third party network, and then use their installer or build their repository. We do not endorse any networks at this time.

A test network is also available for users to make test trades using Monero's stagenet. See the instructions to build Haveno and connect to the test network.

Alternatively, you can create your own mainnet network.

Note that Haveno is being actively developed. If you find issues or bugs, please let us know.

Main repositories

  • haveno - This repository. The core of Haveno.
  • haveno-ts - TypeScript library for using Haveno.
  • haveno-ui - A new user interface (WIP).
  • haveno-meta - For project-wide discussions and proposals.

If you wish to help, take a look at the repositories above and look for open issues. We run a bounty program to incentivize development. See Bounties.

Keep in touch and help out!

Haveno is a community-driven project. For it to be successful it's fundamental to have the support and help of the community. Join the community rooms on our Matrix server:

Email: contact@haveno.exchange Website: haveno.exchange

Contributing to Haveno

See the developer guide to get started developing for Haveno.

See docs/CONTRIBUTING.md for our styling guides.

If you are not able to contribute code and want to contribute development resources, donations fund development bounties.

Bounties

To incentivize development and reward contributors, we adopt a simple bounty system. Contributors may be awarded bounties after completing a task (resolving an issue). Take a look at the issues labeled '💰bounty' in the main haveno repository. Details and conditions for receiving a bounty.

Support and sponsorships

To bring Haveno to life, we need resources. If you have the possibility, please consider becoming a sponsor or donating to the project:

Donate Monero
42sjokkT9FmiWPqVzrWPFE5NCJXwt96bkBozHf4vgLR9hXyJDqKHEHKVscAARuD7in5wV1meEcSTJTanCTDzidTe2cFXS1F

If you are using a wallet that supports OpenAlias (like the 'official' CLI and GUI wallets), you can simply put fund@haveno.exchange as the "receiver" address.