BitcartCC Version 0.6.0.0 is out! ARM support, backups support, electrum 4.1 and many refactors, bugfixes, quality of life improvements for better BitcartCC!
This update contains backwards-incompatible changes
This time we have included the changes from all BitcartCC repositories since previous version
The app stores all it's data in one directory instead of separate directories within source code. This makes it work without permission errors.
With docker deployment only the datadir volume could be backed up, also it's separated from source tree now
This removes unnecessary volume mounts in compose dir, now all data is stored in named docker volumes. Also removes conf directory mounting and many fixes applied before, as it is actually not required now
This means that logs and images are not moved into new directory by default.
At docker deployment
bitcart_datadir volume now stores all the data,
bitcart_logs volume is removed,
compose/images directory and
compose/conf directory are not used anymore.
Now we build all images for 3 architectures: amd64, arm32, arm64. This allows running BitcartCC on a Raspberry Pi and other portable devices.
We have updated all our docker components, not only main BitcartCC parts
bitcartcc/docker-gen gained arm support, updated with upstream changes to 0.7.7
updated bitcartcc/tor to 0.4.6.5 with arm support
bitcartcc/docker-compose was moved to bitcartcc/bitcart-docker-deps repo and updated to 1.28.6
Usually building images for ARM takes a while when being run in a emulation, but we found a solution:
We build amd64 image on amd64 machine without emulation, and in the same time arm64 machine on CI builds arm64 image without emulation and arm32
image with emulation, but this emulation provides minimal performance penalties, images are built in parallel with
After that, images are united into one tag with
docker buildx imagetools, so that when pulling a release the right image gets chosen.
So if you are on a raspberry pi, same instructions as on regular servers apply, and everything will just work.
The long-awaited feature is there! All deployments now have
restore.sh scripts performing backup and restore operations
BACKUP_PROVIDER=scp SCP_TARGET=user@someip:backups ./backup.sh
On another machine with ip
Will restore the identical state of your instance.
You can also perform manual backups from server management->backups page by just a click of a button. Backup settings, like provider and environment variables are also configured here.
Current supported backup providers: local (save on local machine), scp (send via ssh to any machine), s3 (send to AWS s3)
You can also schedule backups, by default it is off. They are performed in one of selected frequencies: daily, weekly, monthly.
The app will store the remaining time by itself even after restarts.
All backup operations are also logged to server logs.
This is our scheduled upgrade of electrums from 4.0 series to 4.1 series
Breaking changes in electrum:
COIN_LIGHTNING_GOSSIP variable to true
Unconfirmed. Invoice becomes
Paid after first confirmation. This allows us to implement
transaction_speed setting in a better way
Important changes in electrum:
Other changes related to electrum upgrade:
Together with electrum upgrades, BCH-based coins have gained some more feature-parity with btc-based coins:
Our lunanode installer at https://launch.bitcart.ai is deprecated. Use BitcartCC configurator instead, it is more feature-complete and can install BitcartCC on any server. We might add some hosting provider presets to configurator in the future/ The lunanode installer will be removed with the next BitcartCC major release: 0.7.0.0. It will then redirect to the configurator.
setconfig("lightning",False) and disable lightning if it was enabled via env var
verified_tx event, called when tx got it's first confirmation
get_tx SDK method (
get_transaction daemon method) now supports
use_spv flag to use SPV verification for getting confirmations, this works on all electrumx servers without verbose mode errors, but it is experimental because it is inefficient, we are waiting for electrum protocol 1.4
getaddressbalance_wallet RPC method which gets address balance via local wallet balance and not network
WalletNotLoadedError is now properly raised by the daemon instead of not-easy-to-understand
BaseDaemon contains only base code common for all daemons, like config loading, and
BTCDaemon contains code for electrum-based coins, it is useful for adding completely custom coins not based on electrum
transaction_speed >= 1 and added functional tests for it
It is a fork with BCH with stable price. It is achieved by making the block reward proportional to the cost of producing a block. Earning a single unit of the currency by mining takes a fixed amount of effort.
asyncio.run behaviour, allow starting/stopping websockets in idle unlimited number of times
BitCCL is getting prepared for being integrated into BitcartCC in following releases.
Better, more secure compiler It can now be used without issues even with untrusted code which tries to bypass the passed context, export only needed functions
The toolbar on admin panel is now unified. On desktop the left navigation bar doesn't open anymore, as it is replaced by main toolbar. On mobile the left navigation bar is now useful and contains links for navigation (before configurator link wouldn't fit in screen) When logged in, it shows same links as before. When not logged in it shows configurator (if allowed by server policies), login and register buttons Datatables are more responsive too now
label field of a wallet
You can access it with
bitcart-cli.sh script, like so:
It requires a running
pre-commit for better contribution experience, and to modernize and unify our codebase
tor-relay component allowing you to run your own tor relay as part of bitcartcc deployment and to support tor network
Even though the update contains many changes, all changes should be applies automatically.
contrib/upgrades/upgrade-to-0600.sh upgrade helper to move your existing logs and images if you need it