update documentation

- add initial docs/CONTRIBUTING.md
- update CODEOWNERS.md, README.md and bounties.md
- fix some issues found by codacy
This commit is contained in:
erciccione 2021-05-15 11:56:08 +02:00 committed by woodser
parent b20abddcdd
commit e7ad539f66
4 changed files with 52 additions and 37 deletions

5
.github/CODEOWNERS vendored
View File

@ -4,5 +4,6 @@
# Default
* @woodser
# /docs
/docs/ @erciccione
# Documentation
/docs/ @haveno-dex/core-team
*.md @haveno-dex/core-team

View File

@ -1,16 +1,18 @@
<div align="center">
<img src="https://raw.githubusercontent.com/haveno-dex/haveno-meta/721e52919b28b44d12b6e1e5dac57265f1c05cda/logo/haveno_logo_landscape.svg" alt="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&amp;utm_medium=referral&amp;utm_content=haveno-dex/haveno&amp;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)
</div>
## 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<br>
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

17
docs/CONTRIBUTING.md Normal file
View File

@ -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.

View File

@ -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.