vendopunkto

所属分类:加密货币
开发工具:GO
文件大小:341KB
下载次数:0
上传日期:2023-01-07 13:07:42
上 传 者sh-1993
说明:  加密货币支付处理器
(A cryptocurrency payments processor)

文件列表:
.dockerignore (52, 2020-03-02)
.vscode (0, 2020-03-02)
.vscode\extensions.json (514, 2020-03-02)
.vscode\launch.json (861, 2020-03-02)
.vscode\settings.json (437, 2020-03-02)
Dockerfile (1089, 2020-03-02)
LICENSE (1488, 2020-03-02)
Makefile (2418, 2020-03-02)
clients (0, 2020-03-02)
clients\client.go (2301, 2020-03-02)
clients\client_test.go (1469, 2020-03-02)
clients\internal-client.go (1683, 2020-03-02)
clients\providers.go (128, 2020-03-02)
clients\public-client.go (2001, 2020-03-02)
docker-compose.yml (1057, 2020-03-02)
docs (0, 2020-03-02)
docs\DESIGN_NOTES.md (3736, 2020-03-02)
dtos (0, 2020-03-02)
dtos\currency-dto.go (731, 2020-03-02)
dtos\invoice-dto.go (2085, 2020-03-02)
errors (0, 2020-03-02)
errors\errors.go (8955, 2020-03-02)
go.mod (1508, 2020-03-02)
go.sum (13224, 2020-03-02)
internal (0, 2020-03-02)
internal\cmd (0, 2020-03-02)
internal\cmd\api.go (1113, 2020-03-02)
internal\cmd\root.go (2576, 2020-03-02)
internal\cmd\wire.go (966, 2020-03-02)
internal\cmd\wire_gen.go (2693, 2020-03-02)
internal\conf (0, 2020-03-02)
internal\conf\defaults.go (954, 2020-03-02)
internal\conf\file.go (599, 2020-03-02)
... ...

# VendoPunkto VendoPunkto is a payment processor for cryptocurrencies. Its main goal is to generate invoices and verify its payments while supporting multiple currencies. Applications can integrate with VendoPunkto and let it handle payments for them. i.e PoS or e-commerce apps can focus on their logic and delegate payments to VendoPunkto. When requesting payment from a customer, a VendoPunkto's invoice is displayed, which the customer can pay with any of the installed currencies. The payment can be seen on the screen as it hits the mempool and your application can continue to do its business logic, like delivering a product/service. It is a self hosted application, meaning that you're always in control of your funds. Best efforts will be done to improve privacy of its users and merchants. Status: **DO NOT USE IN PRODUCTION** ## Free and open source VendoPunkto is free and open source software, there are no fees and you're always in control of your funds. Network fees still need to be payed out as usual. By itself, it does not collect any user information, and will never do. Although, applications and plugins which integrate with it may do so. ## Open Plugin System VendoPunkto provides a plugin system where anyone can develop new plugins to support functionalities on the system. Every feature that requires a third party should be a plugin so that operators can choose who to trust. Currently, three plugin types are supported: - `wallet`: used to implement currency payments - `exchange-rates`: to obtain exchange rates from different sources - `currency-metadata`: to fetch name, description, images, etc. for each currency Official implementations will be provided for Monero and Bitcoin wallets, and some popular exchange rates as well. Since these are also plugins, you could choose different implementations provided by the community or you could not load any official plugin at all. They're not part of VendoPunkto's binary. ## Any Crypto could be accepted We don't judge which currency you'd like to accept, it's an open market and you should be able to accept any crypto/token you'd like, despite of VendoPunkto developers, or anyone's opinion for that matter. We do not consider any crypto to be an "altcoin" and we embrace the fact that anyone can create and give value to a new currency. If a currency has value to you, then you are able to accept payments without having VendoPunkto's developers blessing nor interference. VendoPunkto will never try to make it harder for plugin developers to implement their currencies plugin without justified reason. ## Features - Simple, but not simpler. - Accept any crypto currency payments that are supported by current plugins. - New currencies can be supported by plugins which can be created by anyone and don't require changes in VendoPunkto for them to be distributed. - Invoices can be payed out with multiple currencies, at the same time. i.e. you can pay an invoice with 20% XMR, 50% BTC and 30% LTC. **VendoPunkto doesn't collect any user data at all.** ### What is collected? - Invoice addresses generated by plugins - Invoice amounts and payment methods - Transaction hashes and confirmation amounts ## Multicoin payments VendoPunkto allows the payee to pay an invoice in any of the current installed coin wallet plugins. When an invoice is created, a `total` price and `currency` are provided in order to define it's value. At this moment, multiple payment methods may be provided as well. The original `total` and `currency` may only be used to determine the invoice's value and may not be a payment method by itself. (i.e fiat currencies) The price of all payment methods will be calculated at the invoice creation process using the configured `exchange-rates` plugin. This exchange rate will be kept through the life of the invoice. This may be changed in the future to compensate, in the case of long-lived invoices, the market volatility. When the invoice is displayed, the payee can select the payment method that will be used to perform the payment. A new address is generated by the payment method's wallet and QR code is displayed for the payee to pay. ## Design Notes Check [./docs/DESIGN_NOTES.md](https://github.com/leonardochaia/vendopunkto/blob/master/docs/DESIGN_NOTES.md) ## Development For development you need a PostgreSQL database, plugin implementations for at at least a coin and exchange rates, Go and Make. To build the web client, npm. The startup order is important, you want to make sure that plugins are started before VendoPunkto, given that plugins are currently only loaded at startup. To start the database using docker: ```bash docker-compose up -d vendopunktopostgres ``` There are mock plugin implementations for fake XMR,BTC and BCH wallets, fake exchange rates and fake metadata. ```bash # Starts development plugins servers make dev-plugin ``` To build and run VendoPunkto API, in a different shell ```bash # Builds vendopunkto-api and runs it using the dev-plugins make && make run ``` You'll also need to build the web UI: ```bash cd spa npm install npm run build shared npm run build vendopunkto npm run build admin ``` Once you've `make run`, you should be able to access the admin portal at `http://localhost:9080/` ### Gecko exchange rates A sample integration is provided with Gecko API for exchange rates. ```bash make build-rates && make run-rates ``` ### Monero Integration Current support for Monero works using `monero-wallet-rpc`. For address generation, currently it's generating Integrated Addresses, but the idea is that both Integrated Addresses and SubAddresses are supported so that operators can choose what to use. ## License **VendoPunkto is provided without any warranties** please read the [LICENSE](https://github.com/leonardochaia/vendopunkto/blob/master/LICENSE)

近期下载者

相关文件


收藏者