Author

Topic: SHKeeper — open-source cryptocurrency payment processor (Read 465 times)

legendary
Activity: 1988
Merit: 1317
Get your game girl
This is GREAT!!!!! I want to convert the JS code to TypeScript so badly! I haven't checked out the whole documentation but do you think it's a great idea to create a wrapper around the UI for React? That is users can directly init the SHKeeper as a React Component?
legendary
Activity: 2212
Merit: 7064
Is project alive right now? Anybody use it.
I don't use it, but it appears to be alive.
You can clearly see activity on their github page and website is alive.
For more information you need to contact them directly, since they are not active in bitcointalk forum for more than a year.
newbie
Activity: 1
Merit: 0
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
GPL software means I can't use this in commercial projects
You can use GPL and grow commercially, but it depends on the usage. If you distribute the application that uses software with GPL, you're forced to release the source code of your application...
~

That's not acceptable to us because we want to modify it and bundle it as a part of our own commercial product. Hence why the dual-licensing would be a nice to-have (though we might not end up using this particular software anywhere; I asked my employer to have a look at this project sometime soon).
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
GPL software means I can't use this in commercial projects
You can use GPL and grow commercially, but it depends on the usage. If you distribute the application that uses software with GPL, you're forced to release the source code of your application, but you can use GPL without distributing anything. AFAIK, you can use open-source software (with or without licenses) to help accomplish something to a certain degree, without including them to the source code.

For example, say LibreOffice is released under GPL. You can use it to take notes, without using it directly to your application.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Can you consider dual-licensing the SHKeeper open source edition with a more permissive license alongside GPL?

GPL software means I can't use this in commercial projects so I run into the exact same problem as I did with ODB C++ database engine, requiring me to write an in-house solution from scratch. I would like to avoid all that duplication of effort.
newbie
Activity: 10
Merit: 34

Running a full node for each cryptocurrency is not scalable since each node requires large amounts of disk space and CPU. Have you considered an alternate architecture where the payouts and payment tracking are done via an API such as blockcypher or blockchair?

Or perhaps you might prefer this, there are some services for cloud-hosting nodes such as https://getblock.io/ (I don't think they support wallets though) - these can be used for real-time payment tracking.

For the functionality of the merchant, currencies like Bitcoin do not require full nodes. It is enough to keep the last couple of weeks of the blockchain.

For currencies that require a full node, we will provide API to our full nodes for free
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Yes, the SHKeeper needs full nodes btc ltc doge to work

It seems, you started only the SHKeeper, so the log says that btc ltc doge are not available.

Running a full node for each cryptocurrency is not scalable since each node requires large amounts of disk space and CPU. Have you considered an alternate architecture where the payouts and payment tracking are done via an API such as blockcypher or blockchair?

Or perhaps you might prefer this, there are some services for cloud-hosting nodes such as https://getblock.io/ (I don't think they support wallets though) - these can be used for real-time payment tracking.
newbie
Activity: 10
Merit: 34
...
If I understand correctly vsys.host and SHKeeper are part of the same team.
Nice to see segwit is fully supported, but I am interested to know how exactly are hardware wallets supported and integrated with SHKeeper?
It would be nice to see comparison and advantages compared to BTCPayServer and other self-hosted payments processors like CypherpunkPay or SatSale.

Looks like the USDT supported is TRC20. Which is fortunate, because it demonstrates that not only Bitcoin-based networks are supported.
If you check their roadmap you will see that USDT should be supported starting from September 2022 both as ERC20 and TRC20.
This crypto modules look simple on their github page, so I guess it's not so hard to add any other coins in future.


https://github.com/SatSale/SatSale

Its features are quite limited, that is to mention lack of recalculation of the exchange rate, partial installment, commissions, and only one currency.

https://github.com/CypherpunkPay/CypherpunkPay

Being very similar to the above one, including all of its listed limitations.

SHKeeper easily beats both of them, considering its numerous features and especially, the multi-currency option it has!





Paid version? So you utilize dual licensing where paid version has more feature and support? If yes, do you have list which shows difference between open source and paid version?


Open-source is nice to have, but the paid plan certainly has its unbeatable advantages. In particular, you get full technical support, proper integration, and importantly, more coins than the open-source version has. That is to say, paid one features TRX-20 USDT in addition to Bitcoin, Litecoin, and Dogecoin. Certainly, we will move this extra feature to the open-source version but will add erc20 and bnb to the paid one. Well, you probably got the point.






Also it appears that the project requires a full node running for each coin you want to support:

Code:
[2022-09-15 10:57:15,426] INFO in tasks: [Create Wallet] BTC shkeeper wallet creation error: HTTPConnectionPool(host='bitcoind', port=8332): Max retries exceeded with url: / (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))     
[2022-09-15 10:57:15,431] INFO in tasks: [Create Wallet] LTC shkeeper wallet creation error: HTTPConnectionPool(host='litecoind', port=9332): Max retries exceeded with url: / (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
[2022-09-15 10:57:15,437] INFO in tasks: [Create Wallet] DOGE shkeeper wallet creation error: HTTPConnectionPool(host='dogecoind', port=22555): Max retries exceeded with url: / (Caused by NewConnectionError('on object at 0x7f2f5db5f460>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))

For my own work I'm going to put two and two together and replace the full nodes system with wallet seed phrases powered by Trust Wallet Core. Master private keys will be encrypted with an AES key which is deterministally generated from an arbitrary user-supplied password, just like in Bitcoind wallet.dats.


Yes, the SHKeeper needs full nodes btc ltc doge to work

It seems, you started only the SHKeeper, so the log says that btc ltc doge are not available.


[moderator's note: consecutive posts merged]
legendary
Activity: 2968
Merit: 3406
Crypto Swap Exchange
Your processor seems to have a great set of features [I'm impressed, especially with the fifth one on the list], but I was wondering if the following part for overpayments implies that the excess funds are automatically sent to the address that they came from and there's no way to interfere and change or rather correct [e.g. funds sent through exchanges] the destination address?

legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
--snip--

Also, we could add other coins by your request for SHKeeper paid version.

Paid version? So you utilize dual licensing where paid version has more feature and support? If yes, do you have list which shows difference between open source and paid version?

I'm already planning to add more coins (Ethereum in particular is a glaring omission) and open a pull request, or failing that, fork.



PS:

The project seems to have a Rust 5.56+ requirement via its bcrypt Python dependency (naturally I would just replace this with a C or C++ compiled module). You should mention that in the readme.



Also it appears that the project requires a full node running for each coin you want to support:

Code:
[2022-09-15 10:57:15,426] INFO in tasks: [Create Wallet] BTC shkeeper wallet creation error: HTTPConnectionPool(host='bitcoind', port=8332): Max retries exceeded with url: / (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))    
[2022-09-15 10:57:15,431] INFO in tasks: [Create Wallet] LTC shkeeper wallet creation error: HTTPConnectionPool(host='litecoind', port=9332): Max retries exceeded with url: / (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
[2022-09-15 10:57:15,437] INFO in tasks: [Create Wallet] DOGE shkeeper wallet creation error: HTTPConnectionPool(host='dogecoind', port=22555): Max retries exceeded with url: / (Caused by NewConnectionError('on object at 0x7f2f5db5f460>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))

For my own work I'm going to put two and two together and replace the full nodes system with wallet seed phrases powered by Trust Wallet Core. Master private keys will be encrypted with an AES key which is deterministally generated from an arbitrary user-supplied password, just like in Bitcoind wallet.dats.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
This might sound silly, but how do I run this program? I know it's a Flask app, but I can't find any main.py file anywhere.

Edit

I found it, just cd into the repository root folder and run it with python -m flask --app shkeeper run --port=xxxx --host=x.x.x.x.

I found a few bugs while using the web interface, I'll make some patches for them.
newbie
Activity: 10
Merit: 34
May you kindly state which cryptocurrencies are supported by this payment processor? I could not find detailed information on the website.

I also have same question. From quick search result[1] and their FAQ, i only found out it support BTC (both mainnet and LN), DOGE, LTC and USDT.

[1] https://github.com/vsys-host/shkeeper.io/tree/main/shkeeper/modules/cryptos

Looks like the USDT supported is TRC20. Which is fortunate, because it demonstrates that not only Bitcoin-based networks are supported.

I don't think it will be too hard to implement a support for things like ETH, BNB, TRON, their own chains, and then stuff like XMR, BCH and Zcash on top of that too. At least, that would make my life a lot easier.


TRON is already released
Others are in progress  Wink
newbie
Activity: 10
Merit: 34
May you kindly state which cryptocurrencies are supported by this payment processor? I could not find detailed information on the website.

I also have same question. From quick search result[1] and their FAQ, i only found out it support BTC (both mainnet and LN), DOGE, LTC and USDT.

[1] https://github.com/vsys-host/shkeeper.io/tree/main/shkeeper/modules/cryptos
Perfect. This is exactly what I was looking for in my project a few days ago.

May you kindly state which cryptocurrencies are supported by this payment processor? I could not find detailed information on the website.



SHKeeper offers a direct way to receive Bitcoin, Litecoin, and Dogecoin.

Also, we released USDT (TRC-20) a week ago.
USDT-TRC20 as a payment option available for paid SHKeeper version.

Also, we could add other coins by your request for SHKeeper paid version.
legendary
Activity: 2212
Merit: 7064
...
If I understand correctly vsys.host and SHKeeper are part of the same team.
Nice to see segwit is fully supported, but I am interested to know how exactly are hardware wallets supported and integrated with SHKeeper?
It would be nice to see comparison and advantages compared to BTCPayServer and other self-hosted payments processors like CypherpunkPay or SatSale.

Looks like the USDT supported is TRC20. Which is fortunate, because it demonstrates that not only Bitcoin-based networks are supported.
If you check their roadmap you will see that USDT should be supported starting from September 2022 both as ERC20 and TRC20.
This crypto modules look simple on their github page, so I guess it's not so hard to add any other coins in future.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
May you kindly state which cryptocurrencies are supported by this payment processor? I could not find detailed information on the website.

I also have same question. From quick search result[1] and their FAQ, i only found out it support BTC (both mainnet and LN), DOGE, LTC and USDT.

[1] https://github.com/vsys-host/shkeeper.io/tree/main/shkeeper/modules/cryptos

Looks like the USDT supported is TRC20. Which is fortunate, because it demonstrates that not only Bitcoin-based networks are supported.

I don't think it will be too hard to implement a support for things like ETH, BNB, TRON, their own chains, and then stuff like XMR, BCH and Zcash on top of that too. At least, that would make my life a lot easier.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Perfect. This is exactly what I was looking for in my project a few days ago.

May you kindly state which cryptocurrencies are supported by this payment processor? I could not find detailed information on the website.
newbie
Activity: 10
Merit: 34
SHKeeper (website - https://shkeeper.io/) is a free-of-charge open-source cryptoprocessor orientated at e-commerce products and projects, but the processor is not limited to them. It allows you to accept crypto payments directly on your website!
That is to say; it is designed to receive payments in any popular cryptocurrency. It allows private individuals and organizations of different caliber to accept payments online, avoiding any commission.
It is flexible and handy when it comes to adjusting rates, auto-payments, and more.
SHKeeper has an initial open code and can be deployed on your servers or at https://vsys.host/

SHKeeper Features  Roll Eyes

1. Multi-Currency
These days cyberspace is overflown by crypto and fiat currencies, demanding multi-purpose processors as a must-have option for any business willing to accept online payments. Easy switching between those currencies makes SHKeeper especially attractive.

2. Direct Crypto Payments
One should add on top direct crypto payments to draw a larger picture of this truly multi-purpose processor and its tools.

3. Ability to Set Your Exchange Rates, Commissions, or Fees
SHKeeper is not limited to any official exchange rates, commissions, or fees. The processor functions independently in accordance with the aims and purposes of its owner and not some intermediaries or influence agents. Please note that should you decide to charge any fees or commissions, you can easily adjust them.

4. Crediting the Overpayment to the Balance
Another valuable option concerns overpayments, which may take place from time to time. In such circumstances, the processor notifies you automatically and credits the difference to the balance. A fair attitude always adds credentials to any business.

5. Partial Payments
SKeeper allows partial payments for products or services, installments or schemes of a kind, which are relatively popular in the contemporary market, raising the overall attractiveness and flexibility of a business and its products and services.

6. Setting Auto-Payments Into a Cold Wallet
It can be taken further by setting auto-payments into a cold wallet on a regular basis, in accordance with a planner or accumulated amount. Availability of such configuration allows for a noticeable improvement in the overall planning of payments and expenses.

7. No Transaction Fees
The ever-important factor is the absence of any transaction fees, making the processor stand out from the crowd of other ordinary payment accepting tools available on the market. Yet, the absence of intermediaries or third parties makes SHKeeper position a stronghold in the field of similar services. In fact, that is a robust competitive advantage for a business equipped with the processor but a deductive factor for potential clients.

8. No Third-Parties
No third-party involvement significantly increases the censorship resistance, privacy, and security for you and your customers.

9. Increased Privacy and Security
SHKeeper also features intriguing situations when it comes to privacy and security. The absence of third-party involvement significantly raises payment security level as well as overall confidentiality.

10. No KYC
However, when it comes to KYC or AML procedures, the processor does not require its users to go through irritating verification procedures involving photo-taking and passports, such as online casinos, online stock exchanges, and other FinTech products

11. Non-Custodial
Another vitally important moment is that SHKeeper is the non-custodial cryptoprocessor, which effectively means your full control over the private key. Hence, the assets are only available to their owner and not some third party, as it happens with custodial services like Binance or MetaMask.

12. Independent Software
SHKeeper is an open-code processor developed by our team and available on GitHub. Hence, everyone is more than welcome to make their contribution to the code or use it for their needs. The processor is not dependent upon any third party but should you require any help or assistance; the VSYS team is always happy to provide a helping hand.

13. SegWit Support
SHKeeper walks in line with contemporary market standards and requirements so that it has SegWit support, which allows for solving such essential nuances as flexibility and capacity of transactions. Technically speaking, this support takes place due to the full access to the key available.

14. Easily Embed Payment Buttons
SHKeeper also features straightforward and friendly UX throughout the processor. Payment buttons are pretty easy to build in for all kinds of resources. If not, we can always help you with it.

15. Full Internal Wallet With Hardware Wallet Integration
After all, you can use a processor as an ordinary wallet along with the full functionality of an internal multi-purpose function wallet.


How SHKeeper Works?
Using SHKeeper, you practically use a stand-alone system to bill your customers in cryptocurrency directly on your website!
If your client wants to pay for a product or service using your web resource, s/he receives a QR code or a unique address to pay from one's crypto wallet.
Once the payment takes place, the SHKeeper will inform your e-shop using a callback option!
Also, you will see the top-up (transfer) in your wallet inside the SHKeeper. After that, you can complete the user's order.
Payment & refund functionality and management are also available, making the overall process quite efficient and user-friendly.

Contact SHKeeper
If you have experienced any problems using SHKeeper, you can contact the community listed on the official website https://shkeeper.io/. However, please ask questions on Github related to technical issues only. Thank you.
Jump to: