From e7ad539f66ef696f18c6a77c587cb80cda1ceeae Mon Sep 17 00:00:00 2001 From: erciccione Date: Sat, 15 May 2021 11:56:08 +0200 Subject: [PATCH] update documentation - add initial docs/CONTRIBUTING.md - update CODEOWNERS.md, README.md and bounties.md - fix some issues found by codacy --- .github/CODEOWNERS | 5 ++-- README.md | 55 ++++++++++++++++++++++---------------------- docs/CONTRIBUTING.md | 17 ++++++++++++++ docs/bounties.md | 12 ++++------ 4 files changed, 52 insertions(+), 37 deletions(-) create mode 100644 docs/CONTRIBUTING.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 7394410e..13ea7341 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -4,5 +4,6 @@ # Default * @woodser -# /docs -/docs/ @erciccione \ No newline at end of file +# Documentation +/docs/ @haveno-dex/core-team +*.md @haveno-dex/core-team \ No newline at end of file diff --git a/README.md b/README.md index a2f5c6cf..f210ef6b 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,18 @@
Haveno logo + + [![Codacy Badge](https://app.codacy.com/project/badge/Grade/1a4ddf140d634f2ca1fd120a7cff4574)](https://www.codacy.com/gh/haveno-dex/haveno/dashboard?utm_source=github.com&utm_medium=referral&utm_content=haveno-dex/haveno&utm_campaign=Badge_Grade) + ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/haveno-dex/haveno/CI) + ![GitHub issues with bounty](https://img.shields.io/github/issues-search/haveno-dex/haveno?color=%23fef2c0&label=Issues%20with%20bounties&query=project%3Ahaveno-dex%2F2) | + ![Twitter Follow](https://img.shields.io/twitter/follow/HavenoDEX?style=social) + ![Matrix Room](https://img.shields.io/badge/Matrix%20room-%23haveno-blue)
## What is Haveno? Haveno (pronounced ha‧ve‧no) is a private and decentralized way to exchange Monero for national currencies or other cryptocurrencies. Haveno uses peer-to-peer networking and multi-signature escrow to facilitate trading without a trusted third party custodian. Disputes can be resolved using non-custodial arbitration. Everything is built around Monero and Tor. -Haveno is the Esperanto word for "Harbor". The project is stewarded by a core Team, currently formed by 2 people: ErCiccione and Woodser. - -## Why a new platform? - -See the FAQ: [Why a new platform? What are the key differences compared to Bisq](https://github.com/haveno-dex/haveno/wiki/FAQ#why-a-new-platform-what-are-the-key-differences-compared-to-bisq) +Haveno is the Esperanto word for "Harbor". The project is stewarded by a core Team, currently formed by 2 people: ErCiccione and Woodser. See the [FAQ in the wiki](https://github.com/haveno-dex/haveno/wiki/FAQ) for more information about the project. ## Status of the project @@ -30,10 +32,6 @@ Currently, efforts are focused in developing the core repository ('haveno'). If See [docs/trade-protocol.md](docs/trade-protocol.md) -### Bounties - -To incentivize development we adopt a simple bounty system. Contributors may be awarded bounties after completing a task (resolving an issue). [More details in the docs](https://github.com/erciccione/haveno/blob/master/docs/bounties.md). - ## Keep in touch and help out! Haveno is a community-driven project. For it to be succesful it's fundamental to have the support and help of the Monero community. We have our own Matrix server. Registrations are not open at the moment, but the rooms are public and can be joined from any matrix client (like Element). We look forward to hearing from you! @@ -43,33 +41,36 @@ Haveno is a community-driven project. For it to be succesful it's fundamental to Temporary email: havenodex@protonmail.com -## FAQ +### Styling guidelines -See the [FAQ in the wiki](https://github.com/haveno-dex/haveno/wiki/FAQ). +See [CONTRIBUTING.md](docs/CONTRIBUTING.md) + +## 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). [More details in the docs](docs/bounties.md). ## Running a local Haveno test network 1. Download [Monero CLI](https://www.getmonero.org/downloads/) for your system and sync Monero stagenet: `./monerod --stagenet --rpc-login superuser:abctesting123`, or alternatively, [set up a local Monero stagenet network](#running-a-local-monero-stagenet-network) (recommended) -3. Download and install [Bitcoin-Qt](https://bitcoin.org/en/download) -4. Run Bitcoin-Qt in regtest mode, e.g.: `./Bitcoin-Qt -regtest -peerbloomfilters=1` -5. In Bitcoin-Qt console, mine BTC regtest blocks: `generatetoaddress 101 bcrt1q6j90vywv8x7eyevcnn2tn2wrlg3vsjlsvt46qz` -6. Install [git lfs](https://git-lfs.github.com) for your system
- Ubuntu: `sudo apt install git-lfs` -7. `git clone https://github.com/Haveno-Dex/haveno` -8. Copy monero-wallet-rpc from step 1 to the haveno project root -9. Apply permission to run monero-wallet-rpc, e.g. `chmod 777 monero-wallet-rpc` -10. Optionally modify [WalletConfig.java](core/src/main/java/bisq/core/btc/setup/WalletConfig.java) with custom settings -11. `cd haveno` -12. `./gradlew build` -13. Start seed node, arbitrator, Alice, and Bob: +2. Download and install [Bitcoin-Qt](https://bitcoin.org/en/download) +3. Run Bitcoin-Qt in regtest mode, e.g.: `./Bitcoin-Qt -regtest -peerbloomfilters=1` +4. In Bitcoin-Qt console, mine BTC regtest blocks: `generatetoaddress 101 bcrt1q6j90vywv8x7eyevcnn2tn2wrlg3vsjlsvt46qz` +5. Install [git lfs](https://git-lfs.github.com) for your system (Ubuntu: `sudo apt install git-lfs`) +6. `git clone https://github.com/Haveno-Dex/haveno` +7. Copy monero-wallet-rpc from step 1 to the haveno project root +8. Apply permission to run monero-wallet-rpc, e.g. `chmod 777 monero-wallet-rpc` +9. Optionally modify [WalletConfig.java](core/src/main/java/bisq/core/btc/setup/WalletConfig.java) with custom settings +10. `cd haveno` +11. `./gradlew build` +12. Start seed node, arbitrator, Alice, and Bob: 1. `./haveno-seednode --baseCurrencyNetwork=XMR_STAGENET --useLocalhostForP2P=true --useDevPrivilegeKeys=true --nodePort=2002 --appName=haveno-XMR_STAGENET_Seed_2002 --daoActivated=false` 2. `./haveno-desktop --baseCurrencyNetwork=XMR_STAGENET --useLocalhostForP2P=true --useDevPrivilegeKeys=true --nodePort=4444 --appName=haveno-XMR_STAGENET_arbitrator --daoActivated=false --apiPassword=apitest --apiPort=9998` 3. `./haveno-desktop --baseCurrencyNetwork=XMR_STAGENET --useLocalhostForP2P=true --useDevPrivilegeKeys=true --nodePort=5555 --appName=haveno-XMR_STAGENET_Alice --daoActivated=false --apiPassword=apitest --apiPort=9999` 4. `./haveno-desktop --baseCurrencyNetwork=XMR_STAGENET --useLocalhostForP2P=true --useDevPrivilegeKeys=true --nodePort=6666 --appName=haveno-XMR_STAGENET_Bob --daoActivated=false --apiPassword=apitest --apiPort=10000` -14. Arbitrator window > Account > cmd+n to register a new arbitrator -15. Arbitrator window > Account > cmd+d to register a new mediator -16. Deposit stagenet XMR to Alice and Bob's Haveno wallets (wallet address printed to terminal) -17. When deposited XMR is available, proceed to post offers, etc +13. Arbitrator window > Account > cmd+n to register a new arbitrator +14. Arbitrator window > Account > cmd+d to register a new mediator +15. Deposit stagenet XMR to Alice and Bob's Haveno wallets (wallet address printed to terminal) +16. When deposited XMR is available, proceed to post offers, etc ### Running a local Monero stagenet network diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 00000000..117bd023 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,17 @@ +## Contributing to Haveno + +Thanks for wishing to help! Here there are some guidelines and information about the development process. We suggest you to join the matrix room `#haveno-dev` (relayed on Freenode) and have a chat with the devs, so that we can help get you started. + +Issues are tracked on GitHub. We use [a label system](https://github.com/haveno-dex/haveno/issues/50) and GitHub's [project boards](https://github.com/haveno-dex/haveno/projects) to simplify development. Make sure to take a look at those and to follow the priorities suggested. + +### General guidelines + +- Be verbose. Remember this is collaborative development and we need to make life as easy as possible for future developers and for the current maintainers. +- All formatting needs to be consistent with the current code. +- Changes must be done 'the right way'. No hacks to make things work, if you are having issues, let the other devs know, so that we can help you out. + +## Development process + +- Pull requests should contain as many details as possible about what you are going to change and why. Avoid "title only" PRs, unless they are self-explanatory. +- Pull requests should contain one single commit, unless it makes sense to have more. Please become familiar with git if you are not. +- Pull requests won't be merged before 24 hours has passed. This timeframe will be extended when Haveno will have more active developers. \ No newline at end of file diff --git a/docs/bounties.md b/docs/bounties.md index 32bdeb5a..999b14b7 100644 --- a/docs/bounties.md +++ b/docs/bounties.md @@ -1,7 +1,10 @@ ## Bounties -We use bounties to incentivize development. To receive a bounty, you agree to these conditions: +We use bounties to incentivize development and reward contributors. All issues available for a bounty are listed [on the Kanban board](https://github.com/orgs/haveno-dex/projects/2). It's possible to list on each repository the issues with a bounty on them, by searching issues with the '💰bounty' label. +To receive a bounty, you agree to these conditions: + +- Your changes must follow the [styling guidelines](contributing.md). - Bounties will be set and awarded at discretion of the Haveno core team. - The issues eligible for a bounty are labelled '💰bounty' and have the amount of the bounty specified in the title in this form: `[$200]` if in dollars or `[ɱ20]` if in Monero. - The first person who resolves an issue in its entirety will receive the entire amount of the bounty. @@ -11,11 +14,4 @@ We use bounties to incentivize development. To receive a bounty, you agree to th - If a big number of bounties is claimed at the same time, the maintainers might opt for sending all the rewards on a specific day of the month instead of right after resolution. - If the bounty is in dollars, the contributor will receive the amount in Monero according to the value of XMR at the moment the issue was practically resolved, so in the moment the maintainers accept the last patch resolving the issue. -You are also required to follow these styling guidelines: - -- Be verbose. Remember this is collaborative development and we need to make life as easy as possible for future developers and for the current maintainers. Pull requests should contain as many details as possible about what you are going to change and why. Avoid "title only" PRs, unless they are self-explanatory. -- Pull requests should contain one single commit, unless it makes sense to have more. Please become familiar with git if you are not. -- All formatting needs to be consistent with the current code. -- Changes must be done 'the right way'. No hacks to make things work, if you are having issues, let the other devs know, so that we can help you out. - We want to keep the system simple and flexible, but we will add new rules or edit existing ones if necessary. \ No newline at end of file