btcpayserver/README.md

121 lines
4.5 KiB
Markdown
Raw Normal View History

2017-12-19 03:41:33 +01:00
![BTCPay Server](BTCPayServer/wwwroot/img/btc_pay_BG_twitter.png)
2017-09-29 08:21:41 +02:00
[![Docker Automated build](https://img.shields.io/docker/automated/jrottenberg/ffmpeg.svg)](https://hub.docker.com/r/nicolasdorier/btcpayserver/)
2017-12-19 04:41:15 +01:00
[![Deploy to Azure](https://azuredeploy.net/deploybutton.svg)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fbtcpayserver%2Fbtcpayserver-azure%2Fmaster%2Fazuredeploy.json)
2018-10-28 12:28:16 +01:00
[![CircleCI](https://circleci.com/gh/btcpayserver/btcpayserver.svg?style=svg)](https://circleci.com/gh/btcpayserver/btcpayserver)
2017-09-29 08:13:07 +02:00
2017-09-13 08:47:34 +02:00
# BTCPay Server
## Introduction
BTCPay Server is a free and open-source cryptocurrency payment processor which allows you to receive payments in Bitcoin and altcoins directly, with no fees, transaction cost or a middleman.
2017-09-13 08:47:34 +02:00
2018-10-14 14:26:47 +02:00
BTCPay is a non-custodial invoicing system which eliminates the involvement of a third-party. Payments with BTCPay go directly to your wallet, which increases the privacy and security. Your private keys are never uploaded to the server. There is no address re-use since each invoice generates a new address deriving from your xpubkey.
2017-09-13 08:47:34 +02:00
The software is built in C# and conforms to the invoice [API of BitPay](https://bitpay.com/api). It allows for your website to be easily migrated from BitPay and configured as a self-hosted payment processor.
2017-10-21 13:30:59 +02:00
You can run BTCPay as a self-hosted solution on your own server, or use a [third-party host](https://github.com/btcpayserver/btcpayserver-doc/blob/master/ThirdPartyHosting.md).
2018-06-23 17:45:57 +02:00
The self-hosted solution allows you not only to attach an unlimited number of stores and use the Lightning Network but also become the payment processor for others.
Thanks to the [apps](https://github.com/btcpayserver/btcpayserver-doc/blob/master/Apps.md) built on top of it, you can use BTCPay to receive donations, start a crowdfunding campaign or have an in-store Point of Sale.
## Features
* Direct, peer-to-peer Bitcoin and altcoin payments
* No transaction fees (other than those for the crypto networks)
* No processing fees
* No middleman
* No KYC
* User has complete control over private keys
* Enhanced privacy
* Enhanced security
* Self-hosted
* SegWit support
* Lightning Network support (LND and c-lightning)
* Altcoin support
* Full compatibility with BitPay API (easy migration)
* Process payments for others
* Easy-embeddable Payment buttons
* Point of sale app
* Crowdfunding app
## Supported Altcoins
Bitcoin is the only focus of the project and its core developers. However, support is implemented for several altcoins:
* Bitcoin Gold (BTG)
* Bitcoin Plus (XBC)
* Bitcore (BTX)
* Dash (DASH)
* Dogecoin (DOGE)
* Feathercoin (FTC)
* Groestlcoin (GRS)
* Litecoin (LTC)
* Monacoin (MONA)
* Polis (POLIS)
* Viacoin (VIA)
Altcoins are maintained by their respective communities.
2018-06-23 17:45:57 +02:00
2017-12-19 04:19:08 +01:00
## Documentation
2017-10-21 13:53:48 +02:00
2019-02-21 06:04:03 +01:00
Please check out our [official website](https://btcpayserver.org/), our [complete documentation](https://github.com/btcpayserver/btcpayserver-doc) and [FAQ](https://github.com/btcpayserver/btcpayserver-doc/tree/master/FAQ#btcpay-frequently-asked-questions-and-common-issues) for more details.
2018-03-02 21:04:00 +01:00
If you have any troubles with BTCPay, please file a [Github issue](https://github.com/btcpayserver/btcpayserver/issues).
For general questions, please join the community chat on [Mattermost](https://chat.btcpayserver.org/).
2018-03-05 16:58:27 +01:00
## How to build
2018-10-14 14:28:09 +02:00
While the documentation advises to use docker-compose, you may want to build BTCPay yourself.
2018-03-05 16:58:27 +01:00
First install .NET Core SDK v2.1.6 as specified by [Microsoft website](https://www.microsoft.com/net/download/dotnet-core/2.1).
2018-03-06 15:35:20 +01:00
2018-03-06 15:18:00 +01:00
On Powershell:
2018-03-05 16:58:27 +01:00
```
2018-03-06 15:18:00 +01:00
.\build.ps1
```
On linux:
```
2018-03-06 15:40:21 +01:00
./build.sh
2018-03-05 16:58:27 +01:00
```
## How to run
2018-10-14 14:26:47 +02:00
Use the `run` scripts to run BTCPayServer, this example shows how to print the available command line arguments of BTCPayServer.
2018-03-06 15:18:00 +01:00
On Powershell:
```
.\run.ps1 --help
```
On linux:
2018-03-05 16:58:27 +01:00
```
2018-03-06 15:40:21 +01:00
./run.sh --help
2018-03-05 16:58:27 +01:00
```
2018-03-06 15:40:21 +01:00
## How to debug
If you want to debug, use Visual Studio Code or Visual studio 2017.
You need to run the development time docker-compose as described [in the test guide](BTCPayServer.Tests/README.md).
You can then run the debugger by using the Launch Profile `Docker-Regtest` on either Visual Studio Code or Visual studio 2017.
If you need to debug ledger wallet interaction, install the development time certificate with:
```bash
# Install development time certificate in the trust store
dotnet dev-certs https --trust
```
Then use the `Docker-Regtest-https` debug profile.
2018-03-06 15:40:21 +01:00
## Other dependencies
2018-10-14 14:28:09 +02:00
For more information, see the documentation: [How to deploy a BTCPay server instance](https://github.com/btcpayserver/btcpayserver-doc/#deployment).