BitcartCC - your open source solution for everything Bitcoin Cash
BitcartCC is a lightweight solution for everything in cryptocurrency sphere, now supporting Bitcoin Cash via well-known and feature-rich Electron Cash wallet.
It is free, self-hosted and fully opensource, we are seeking for new ideas!
How it works? It utilizes hidden features of Electrum and Electron Cash-by using it directly from python.
That means, it is balanced between being secure and light.
It is not a full node, but uses SPV verifying, connecting to a lot of decentralized servers, which is almost the same.
The system requirements are the minimal: 4 GB or less disk for our automatic docker installation, and 700 or less MB RAM, depending on the features you have chosen.
We have easy installation methods:
Via telegram bot(@bitcartinstallerbot), GUI and console applications.
Via lunanode easy web installer.
In console on the server.
It is easily redeployable, which is achieved via dockerization.
Multiple wallets loading & handling, auto-restoring on the fly, all commands feature set supported plus some additional custom commands.
At it's core, it is a wrapper around Electron Cash, providing backward-compatible API.
You can use BitcartCC no matter what technical skills you have and no matter what you want to do, it is good for:
Developers
Users interested in learning Bitcoin Cash
Merchants
Developers
There is Python SDK(more SDK's will come as people request it), allowing to create any apps-from telegram bots with deposit facility to something like block explorer.
The SDK is fully documented and has examples of usage:
https://sdk.bitcartcc.com (see API reference for examples)
https://github.com/MrNaif2018/bitcart-sdk/tree/master/examples
There is atomic tipbot created to show how easy it is to utilize multiple coins:
@bitcart_atomic_tipbot on telegram
Full explanation & source code:
https://github.com/MrNaif2018/bitcart-sdk/blob/master/examples/atomic_tipbot/README.md
https://github.com/MrNaif2018/bitcart-sdk/blob/master/examples/atomic_tipbot/bot.py
Some SDK examples:
from bitcart import BTC, BCH # and anything else
btc = BTC(xpub="x/y/x pub/prv or electrum seed")
bch = BCH(xpub="x/y/z pub/prv or electron cash seed")
btc.help() # all commands
bch.balance() # dictionary with confirmed, unconfirmed keys, for some coins also has lightning
btc.pay_to("address", amount)
bch.pay_to_many((address1, amount1),(address2,amount2))
btc.addrequest(amount) # get address and create payment request
bch.get_tx("tx_hash") # -> some tx info
All methods work the same way in each coin.
You can dynamically configure fee of the transactions by creating a custom function:
def fee_func(size, default_fee):
if size >= 500:
return default_fee
else:
return default_fee / 4
bch.pay_to("address", amount, fee=fee_func)
Also, we have a powerful events system, which can be used, for example, to track all incoming payments on your wallet and do some post processing(or telegram notifications for each your new payment!)
@bch.on("new_payment")
def handle(event, address, status, status_str):
# handle new payments
You can use one handler for multiple events:
@bch.on(["new_transaction","new_block"])
You can register one handler on multiple coins:
@btc.on("new_payment")
@bch.on("new_payment")
def handle ....
...
You can receive those updates via two built-in ways - polling or web hooks(inspired by telegram bot API).
Switching back and forth is a matter of one command!
bch.poll_updates()
starts polling
bch.start_webhook()
starts web hook.
And of course everything is customizable, users can trigger handlers by passing updates directly:
bch.process_updates(list_of_updates)
The SDK also has type hints for nice IDE autocompletion.
We also have CLI app for using daemon in your console:
https://github.com/MrNaif2018/bitcart/tree/master/cli (Go application)
Users interested in learning Bitcoin Cash
Users who are interested in learning Bitcoin Cash can always join our official telegram group and get help in learning Bitcoin Cash together!
We try to simplify cryptocurrency adaptation by providing easy to use platform for anything.
Merchants
This is the biggest part of the users, probably.
Bitcoin Cash used as electronic p2p cash system, in online and physical stores!
There is no need to port btcpay to Bitcoin Cash anymore, there is a better solution available (:
We provide ready solutions for merchants.
First of all, we have BitcartCC merchants API to be integrated into any existing store(https://demo.bitcartcc.com/docs - interactive documentation, try API methods). The API manages database and invoice tracking for you, all you need is to use it.
Admin panel
We also provide an easy to use admin panel, where you can manage unlimited number of wallets, stores, products, discounts and invoices.
See https://admin.bitcartcc.com/ for a live demo.
Many features and more coming: products images, categories, discounts, downloadable content, automatic email sending and custom email templates, update server in one click, multicurrency checkout.
Screenshots:
Store
Store, reflecting products from admin panel-a complete solution for merchants without any coding skills.
You can bootstrap your own online or physical store in seconds!
See live demo at https://store.bitcartcc.com/
Screenshots:
Custom integrations
We also have woocommerce integration plugin!
Integrate payments into your existing woocommerce stores!
Conclusion & Links
There are unlimited possibilities where to extend, so we are looking forward to new ideas & suggestions!
All of these is built on the top of Electrum, Electron Cash and corresponding forks!
Links:
https://t.me/bitcartcc (official telegram group)
https://bitcartcc.com (official site)
https://docs.bitcartcc.com (main docs)
https://sdk.bitcartcc.com (SDK docs)
https://admin.bitcartcc.com (admin)
https://store.bitcartcc.com (store)
https://demo.bitcartcc.com (merchants API)
https://github.com/MrNaif2018/bitcart (main github repo)
Not bad post brothers thanks for sharing with us.